Cómo crear una función definida por el usuario en Microsoft Excel

Tabla de contenido:

Cómo crear una función definida por el usuario en Microsoft Excel
Cómo crear una función definida por el usuario en Microsoft Excel

Video: Cómo crear una función definida por el usuario en Microsoft Excel

Video: Cómo crear una función definida por el usuario en Microsoft Excel
Video: Como convertir un archivo elf a iso 2024, Mayo
Anonim

Microsoft Excel tiene muchas funciones integradas, como SUM, BUSCARV e IZQUIERDA. A medida que comience a usar Excel para tareas más complicadas, es posible que necesite una función que no existe. ¡Ahí es donde entran las funciones personalizadas! Este wikiHow te enseñará cómo crear tus propias funciones en Microsoft Excel.

Pasos

259250 1
259250 1

Paso 1. Abra un libro de Excel

Haga doble clic en el libro en el que desea usar la función definida personalizada para abrirlo en Excel.

259250 2
259250 2

Paso 2. Presione Alt + F11 (Windows) o Fn + ⌥ Opc + F11 (Mac).

Esto abre el Editor de Visual Basic.

259250 3
259250 3

Paso 3. Haga clic en el menú Insertar y seleccione Nuevo módulo

Esto abre una ventana de módulo en el panel derecho del editor.

Puede crear la función definida por el usuario en la propia hoja de trabajo sin agregar un nuevo módulo, pero eso le impedirá usar la función en otras hojas de trabajo del mismo libro de trabajo

259250 4
259250 4

Paso 4. Crea el encabezado de tu función

La primera línea es donde nombrará la función y definirá nuestro rango. Reemplace "FunctionName" con el nombre que desea asignar a su función personalizada. La función puede tener tantos parámetros como desee, y sus tipos pueden ser cualquiera de los tipos de objetos o datos básicos de Excel como Rango:

Función FunctionName (param1 como tipo1, param2 como tipo2) como tipo de retorno

Puede pensar en los parámetros como los "operandos" sobre los que actuará su función. Por ejemplo, cuando utilice SIN (45) para calcular el seno de 45 grados, se tomará 45 como parámetro. Luego, el código de su función usará ese valor para calcular algo más y presentar el resultado

259250 5
259250 5

Paso 5. Agrega el código de la función

Asegúrese de utilizar los valores proporcionados por los parámetros, asigne el resultado al nombre de la función y cierre la función con "Finalizar función". Aprender a programar en VBA o en cualquier otro idioma puede llevar algo de tiempo y un tutorial detallado. Sin embargo, las funciones suelen tener pequeños bloques de código y utilizan muy pocas características del lenguaje. Algunos elementos útiles son:

  • El bloque If, que le permite ejecutar una parte del código solo si se cumple una condición. Observe los elementos en un bloque de código If: condición IF ENTONCES código ELSE código END IF. La palabra clave Else junto con la segunda parte del código son opcionales:

    Función Resultado del curso (calificación como entero) Como cadena Si calificación> = 5 Entonces CourseResult = "Aprobado" Else CourseResult = "Rechazado" End If End Función

  • El bloque Do, que ejecuta una parte del código mientras o hasta que se cumpla una condición. En el código de ejemplo a continuación, observe los elementos DO code LOOP WHILE / UNTIL condición. También observe la segunda línea en la que se declara una variable. Puede agregar variables a su código para poder usarlas más tarde. Las variables actúan como valores temporales dentro del código. Finalmente, observe la declaración de la función como BOOLEAN, que es un tipo de datos que permite solo los valores TRUE y FALSE. Este método para determinar si un número es primo no es ni mucho menos el óptimo, pero lo dejé así para que el código sea más fácil de leer.

    Función IsPrime (valor como entero) Como booleano Dim i Como entero i = 2 IsPrime = Verdadero Hacer si valor / i = Int (valor / i) Entonces IsPrime = Falso Fin If i = i + 1 Bucle mientras i <valor E IsPrime = Función True End

  • El bloque For ejecuta una parte del código un número específico de veces. En el siguiente ejemplo, verá los elementos PARA la variable = límite inferior al código de límite superior SIGUIENTE. También verá el elemento ElseIf agregado en la declaración If, que le permite agregar más opciones al código que se ejecutará. Además, la declaración de la función y la variable resultan como Long. El tipo de datos Long permite valores mucho más grandes que Integer:

    Función pública Factorial (valor como entero) Como resultado de Dim largo Como Dim i Como entero Si valor = 0 Entonces resultado = 1 Else Si valor = 1 Entonces resultado = 1 Else resultado = 1 Para i = 1 Para valor resultado = resultado * i Siguiente End If Factorial = resultado End Function

259250 6
259250 6

Paso 6. Cierre el Editor de Visual Basic

Una vez que haya creado su función, cierre la ventana para volver a su libro de trabajo. Ahora puede comenzar a usar su función definida por el usuario.

259250 7
259250 7

Paso 7. Ingrese su función

Primero, haga clic en la celda en la que desea ingresar la función. Luego, haga clic en la barra de funciones en la parte superior de Excel (la que tiene el fx a la izquierda) y escriba = FUNCTIONNAME (), reemplazando FUNCTIONNAME con el nombre que asignó a su función personalizada.

También puede encontrar su fórmula definida por el usuario en la categoría "Definido por el usuario" en el Insertar fórmula asistente: simplemente haga clic en el fx para abrir el asistente.

259250 8
259250 8

Paso 8. Ingrese los parámetros entre paréntesis

Por ejemplo, = NumberToLetters (A4). Los parámetros pueden ser de tres tipos:

  • Valores constantes escritos directamente en la fórmula de la celda. En este caso, las cadenas deben estar entre comillas.
  • Referencias de celda como B6 o referencias de rango como A1: C3. El parámetro debe ser del tipo de datos Range.
  • Otras funciones anidadas dentro de su función. Su función también se puede anidar dentro de otras funciones. Ejemplo: = Factorial (MAX (D6: D8)).
259250 9
259250 9

Paso 9. Presiona ↵ Enter o ⏎ Vuelva a ejecutar la función.

Los resultados se mostrarán en la celda seleccionada.

Video: al utilizar este servicio, es posible que cierta información se comparta con YouTube

Consejos

  • Use un nombre que aún no esté definido como nombre de función en Excel o terminará siendo capaz de usar solo una de las funciones.
  • Siempre que escriba un bloque de código dentro de una estructura de control como If, For, Do, etc., asegúrese de sangrar el bloque de código con unos pocos espacios en blanco o la tecla Tab. Eso hará que su código sea más fácil de entender y le resultará mucho más fácil detectar errores y realizar mejoras.
  • Si no sabe cómo escribir el código de una función, consulte Cómo escribir una macro simple en Microsoft Excel.
  • Es posible que una función no requiera todos los parámetros para calcular un resultado. En ese caso, puede utilizar la palabra clave Opcional antes del nombre del parámetro en el encabezado de la función. Puede usar IsMissing (parameter_name) dentro del código para determinar si al parámetro se le asignó un valor o no.
  • Excel tiene muchas funciones integradas y la mayoría de los cálculos se pueden realizar utilizándolas de forma independiente o en combinación. Asegúrese de revisar la lista de funciones disponibles antes de comenzar a codificar las suyas. La ejecución puede ser más rápida si utiliza las funciones integradas.

Advertencias

  • Las funciones utilizadas en este artículo no son, de ninguna manera, la mejor manera de resolver los problemas relacionados. Se usaron aquí solo para explicar el uso de las estructuras de control del lenguaje.
  • VBA, como cualquier otro lenguaje, tiene otras estructuras de control además de Do, If y For. Estos se han explicado aquí solo para aclarar qué tipo de cosas se pueden hacer dentro del código fuente de la función. Hay muchos tutoriales en línea disponibles donde puede aprender VBA.
  • Debido a las medidas de seguridad, algunas personas pueden desactivar las macros. Asegúrese de que sus colegas sepan que el libro que les está enviando tiene macros y que pueden confiar en que no dañarán sus computadoras.

Recomendado: