Funciones personalizadas de Excel - Crear funciones personalizadas definidas por el usuario

¿Cómo crear funciones personalizadas de Excel? (con ejemplos)

Para crear una función personalizada, necesitamos escribir un código para el funcionamiento de nuestras propias funciones, que se llama "UDF". Las funciones personalizadas son funciones definidas por el usuario en Excel, por lo que para crear estas funciones, necesita conocer a fondo la codificación VBA.

Ejemplo n. ° 1: sumar dos números cualesquiera

Por ejemplo, si desea agregar dos números, le mostraremos una función definida por el usuario (UDF) simple.

  • Presione Alt + F11 e inserte el módulo.
  • Escriba código en un módulo para crear una función personalizada.

Cualquier función personalizada debe comenzar con la palabra "Función" seguida del nombre de la fórmula.

Cualquier función también tiene sus argumentos o parámetros de manera similar a las funciones personalizadas; necesitamos definir esos parámetros. Dado que estamos agregando solo dos números, definamos esos parámetros y asignemos tipos de datos a esas variables de argumento.

Una vez que los parámetros se definen con un tipo de datos, también debemos definir los tipos de datos de resultados. Definamos el resultado como el valor "Entero".

Dentro de este "Procedimiento de función", escribiremos el código de la fórmula.

Código:

Suma de funciones (Num1 como entero, Num2 como entero) Como suma de enterosa = Num1 + Num2 End Function

Esto dice que el resultado del nombre de la función “Adición” será la suma de los valores Num1 y Num2.

  • Ahora regrese a la hoja de trabajo e ingrese dos números enteros.
  • Agregaremos estos dos números ahora. Abra el signo igual e ingrese el nombre de la función personalizada "Adición".

Seleccione el primer y segundo número ingresando un separador como coma (,).

  • Presione la tecla enter para obtener el resultado.

¡¡¡Guau!!! Al igual que la función SUMA, obtuvimos el resultado de la suma de dos números.

Ahora, mire estos números.

Intente sumar estos dos números ahora.

Obtuvimos el valor de error porque el tipo de datos de los argumentos "Num1 & Num2" es "Integer", es decir, estos dos argumentos pueden contener valores entre -32767 y 32767, por lo que cualquier cosa más que esto provocará estos errores.

Ahora intente sumar estos dos números.

Incluso esto provocará un valor de error inferior.

Aunque los valores de los argumentos individuales están dentro del límite del tipo de datos Integer, seguimos teniendo este error porque la suma total de estos números es mayor que el valor límite del entero.

Dado que hemos declarado el tipo de resultado también como "entero", el resultado de la suma de dos números también debe ser un límite de número entero.

Ejemplo n. ° 2: sumar todos los números impares

Excel no tiene ninguna función incorporada, que puede agregar todos los números impares de la lista de números. Pero nada de qué preocuparse, crearemos una función de Excel personalizada para respaldar esto.

Abra la ventana del editor de VBA y asigne un nombre al procedimiento de función.

Asigne el parámetro para esta función como "Rango".

Esto significa que para esta función, estamos proporcionando el valor de entrada para esta función como el "Rango" de los valores de las celdas.

Dado que necesitamos recorrer más de una celda, debemos usar el ciclo "For Each" en VBA, así que abra el ciclo "For Each".

Dentro de este bucle, agregue el siguiente código.

Código:

Función AddOdd (Rng As Range) para cada celda en Rng If cell.Value Mod 2 0 Then AddOdd = AddOdd + cell.Value Siguiente celda Fin Función

Tenemos que usar la función "MOD" para probar el número. Cuando el valor de cada celda se divide por el número 2 y el valor restante no es igual a cero, entonces nuestro código debe sumar todos los valores de los números impares.

Ahora regrese a la hoja de trabajo y abra la función personalizada de Excel.

Seleccione el rango de números de A1 a D8.

Presione la tecla Intro para obtener el resultado del número "impar" ".

Entonces, en el rango de A1 a D8, tenemos que la suma de los números impares es 84.

Ejemplo n. ° 3: sumar todos los números pares

De manera similar, la siguiente función agregará todos los números pares.

Código:

Función AddEven (Rng As Range) para cada celda en Rng If cell.Value Mod 2 = 0 Then AddEven = AddEven + cell.Value Siguiente celda Fin Función

Esta función agregará solo un número par. En este caso, hemos utilizado la lógica de si cada valor de celda se divide por 2 y el resto es igual a cero, entonces el código agregará solo esos valores de celda.

De esta manera, al usar la codificación VBA, podemos crear nuestras propias funciones personalizadas.

Cosas para recordar

  • Crear funciones personalizadas no son más que funciones definidas por el usuario.
  • Para crear funciones personalizadas, se debe tener conocimiento de habilidades avanzadas de codificación de VBA.
  • Al crear las funciones de Excel personalizadas, es importante tener en cuenta los argumentos y sus tipos de datos.

Articulos interesantes...