Crea tus propias funciones en Excel

PorLucía Montero Rodríguez

Crea tus propias funciones en Excel

Funciones para ExcelAunque Excel cuenta con un impresionante catálogo de funciones agrupadas en distintas categorías, el usuario también puede crear funciones propias, personalizadas y adaptadas a sus necesidades.

Tipos de datos

Cada vez que empleas una función en Excel, obtendrás un determinado resultado, que puede ser un texto, un número entero, con decimales… y, en la mayoría de los casos, será necesario pasar a Excel una serie de argumentos para obtener un determinado dato.

Pues bien, si vamos a crear nuestras funciones, en primer lugar será necesario conocer qué tipos de datos/variables se admiten:

Tipo Rango
Byte 0 a 255
Integer (entero) -32 768 a 32 767
Long (entero largo) -2 147 483 648 a 2 147 483 647
Single (simple de coma flotante) -3,402823E38 a 1,401298E-45 (negativos)1,401298E-45 a 3,402823E38 (positivos)
Double (doble de coma flotante) -1,79769313486231E308 a 4,94065645841247E-324 (negativos)4,94065645841247E-324 a 1,79769313486231E308 (positivos)
Currency (moneda) -922 337 203 685 477,5808 a 922 337 203 685 477,5807
Decimal +/- 79 228 162 514 264 337 593 543 950 335 sin separador decimal;+/- 7,9228162514264337593543950335 con 28 cifras a la derecha del separador decimal
Boolean Verdadero (-1) o Falso (0)
Date Se utiliza para almacenar fechas y horas. La parte entera es el día y la decimal la hora. Para asignar fechas se usa #
String Para cadenas de caracteres puede ser de longitud variable o de longitud fija
Variant Puede contener todo tipo de datos, además de los valores especiales Empty, Error y Null
Object Se emplea para crear variables que contengan objetos

 

FUNCTION

Las funciones personalizadas se crean en el entorno de Visual Basic para Aplicaciones (VBA) bajo la forma de procedimientos Function. En consecuencia, lo primero será acceder a dicho entorno, ya sea pulsando el icono Visual Basic de la cinta Programador o mediante la combinación de teclas Alt+F11.

El código necesario para crear la función debe escribirse en un módulo, así que entramos en el menú Insertar y hacemos clic sobre Módulo, para que Excel inserte y active el objeto correspondiente.

Entorno VBA para Excel

Si lo has hecho correctamente, tu pantalla debe asimilarse a la imagen, en particular, a la parte superior izquierda, y será en la parte de la derecha dónde escribamos el código para crear nuestra función.

Palabras clave

A la hora de programar en el entorno VBA es necesario conocer algunos términos o palabras clave que utilizaremos para crear el código.

Function...End Function

Indica el principio y el final del código para crear la función

As [tipo de dato/variable]

Seguida de uno de los tipos expuestos en la tabla superior se utiliza para indicar tanto especificar el tipo de argumento que pasaremos a la función como para definir el tipo de resultado que devolverá la función

Ejemplo de función personalizada

Si trabajas con Excel sabrás que existe la función SUMA pero que no hay ninguna disponible para restar, así que expondremos un ejemplo sencillo: vamos a crear la función RESTA que restará DOS NÚMEROS ENTEROS.

Nos ponemos manos a la obra y en la zona derecha de la pantalla escribimos el siguiente código:

Function resta(numero1 As Integer, numero2 As Integer) As Integer
 resta = numero1 - numero2
End Function

Recomendamos escribir todo el código en minúsculas, ya que si Excel reconoce a priori como bueno nuestro código, al ir cambiando de línea, irá poniendo en azul y en mayúsculas los términos clave.

Analizando el código

En la primera línea se pueden observar varios datos interesantes; por un lado RESTA(…) AS INTEGER es decir, que el resultado de la función será un número entero; por otro (NUMERO1 AS INTEGER,NUMERO2 AS INTEGER), indicando que los dos números que vamos a restar deben ser enteros.

A continuación, la expresión RESTA = NUMERO1 – NUMERO2  es el cálculo que se aplicará de manera interna al llamar a la función desde la hoja de cálculo.

Cómo ves, el código es muy sencillo aunque, lógicamente, se puede mejorar para incluir por ejemplo controles de error por si pasáramos como datos textos, fechas o números con decimales; aunque será algo que veremos en artículos futuros.

Utilizando la función

Para emplearla, ve a la hoja de cálculo, introduce dos números en celdas diferentes, por ejemplo A1 y A2 y en A3 escribe =RESTA(A1;A2). El resultado debe ser 19 y si lo haces al revés =RESTA(A2;A1) también funcionará.

Si no eres de escribir función porque te gusta más el asistente, entonces entra en la categoría Definida por el usuario y opera de la manera habitual.

Función definida por el usuario

Resumen

Aunque no sepas programar en Visual Basic para Aplicaciones, con unos conocimientos básicos y las ideas claras podrás crear tus propias funciones para Excel.

Acerca del autor

Lucía Montero Rodríguez administrator

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.