Logo Computerhoy.com

Crea tus propias funciones en Excel con código VBA

Funciones personalizadas
Aprende a crear tus propias funciones personalizadas en Microsoft Excel, mediante programación en código VBA. Luego podrás utilizarlas en la hoja de cálculo como si de una función integrada se tratase, ya que aparecerá disponible en la lista de funciones de Excel.

Accede al editor de Visual Basic

Excel incluye una gran variedad de funciones que puedes utilizar para una gran variedad de situaciones. Las categorías en las que se encuentran clasificadas son, además, de la más diversa índole: matemáticas, estadísticas, financieras, trigonométricas… No se puede discutir que son muchas pero, quizá, dependiendo de tu actividad y trabajo diario, puede que eches de menos alguna más personalizada.

Nosotros te mostramos la manera de crear las tuyas propias. Así, partiendo de operaciones matemáticas y recurriendo al empleo de código VBA, podrás crear tantas funciones personalizadas como necesites.

Para empezar, desde una hoja de cálculo cualquiera, presiona la combinación de teclas Alt+F11 y te situarás en el Editor de Visual Basic. Desde él, selecciona la entrada correspondiente a un libro "especial" en Excel que se denomina Personal. A continuación, pincha en los menús Insertar y Módulo.

Libro Personal.xls

Si no apareciese disponible este libro (Personal.xls), cierra la ventana del editor y, desde la pantalla normal de Excel, graba una nueva macro con ayuda de la grabadora. Al hacerlo, podrás elegir ese libro. Inicia la grabación con el botón Aceptar y detenla inmediatamente desde el botón Detener grabación. De nuevo accede al editor de Visual Basic. Esta vez sí encontrarás disponible la entrada de la que te hablábamos antes.

Grabar macro

Introduce el código VBA correspondiente a tu función personalizada

En este caso vas a diseñar una función que se encargue de aplicar un descuento (un porcentaje) a un valor inicial y así obtener el valor final (deduciéndole ese descuento). Así que, en el módulo en blanco que habrá aparecido en la parte derecha, introduce el código VBA correspondiente. Una vez escrito, cierra la ventana del editor de Visual Basic.

Código VBA de la función Descuento

En este caso la función que estamos creando se llama Descuento. Por un lado, calcula la "rebaja" (el precio por un porcentaje) y, al precio inicial le resta ese descuento. Ninguno de esos dos valores con los que va a operar y que has definido en la primera línea, entre corchetes (precio y porcentaje de descuento) están todavía definidos. Lo harás tú mismo luego al utilizar esta función en Excel y en cada ocasión podrán ser diferentes.

Utiliza tu función en cualquier celda

A partir de ahora, podrás utilizar la función anterior desde cualquier hoja de cálculo. Para ello, abre una cualquiera y sitúate en aquella celda en la que deseas emplear tu función personalizada (en nuestro ejemplo en la B2). Accede entonces a la ficha o al menú Fórmulas y elige Insertar función.

Hoja en la que usar función personalizada

En la nueva ventana que aparecerá, selecciona la categoría de funciones Definida por el usuario y aparecerá entonces disponible la fórmula que acabas de crear que, además, se llamaba concretamente Descuento. Asegúrate de tener su nombre seleccionado y pulsa el botón Aceptar.

Seleccionar la función definida por el usuario

Se mostrará así la pantalla de un asistente para funciones, preguntándote por los valores Precio y porcentaje  con los que debe operar. Puedes introducirlos aquí directamente. Por ejemplo, si indicas un precio inicial de 100€ y le aplicas un 7% de descuento, obtendrías como resultado un precio final (precio inicial menos descuento) de 93 euros.

Asiste de la función Descuento

Opcionalmente, en lugar de introducir directamente la cifra, podrías hacer referencia a la celda que la contiene, por ejemplo uno de los valores (precio inicial) e introducir directamente el descuento.

Utilizar Función descuento

En cualquier caso, tras pulsar Aceptar, verás el resultado directamente en tu hoja de cálculo.

Resultado de la función personalizada

Copiar la fómula en las celdas inferiores

Siempre que en Excel necesites copiar una fórmula en celdas adyacentes, puedes valerte del cuadro de llenado. Simplemente pinchando y arrastrando desde él, y desde la celda que contiene la fórmula original. En nuestro ejemplo, sólo has de seleccionar la primera celda en la que has aplicado la fórmula Descuento y aparecerá dicho cuadro en la esquina inferior derecha. Al situar el ratón sobre él, el puntero adopta la forma de una pequeña cruz negra.

Cuadro de llenado para copiar fórmulas

Luego pincha y arrastra directamente hasta la última celda a la que desees aplicar la fórmula.

Arrastrar desde el cuadro de llenado

El resultado será automático: la primera fórmula se aplicará directamente al resto del rango, es decir, realizará cáculos en las celdas comprendidas en el rango B3:B6.

Resultado final

Descubre más sobre , autor/a de este artículo.

Conoce cómo trabajamos en Computerhoy.