Cómo crear funciones definidas por el usuario en Microsoft Excel

Tabla de contenido:

Cómo crear funciones definidas por el usuario en Microsoft Excel
Cómo crear funciones definidas por el usuario en Microsoft Excel

Video: Cómo crear funciones definidas por el usuario en Microsoft Excel

Video: Cómo crear funciones definidas por el usuario en Microsoft Excel
Video: Los tres tipos de amistad 2024, Noviembre
Anonim

Aunque Excel ya tiene cientos de funciones integradas como SUMA, BUSCARV, IZQUIERDA, etc., las funciones integradas disponibles generalmente no son suficientes para realizar tareas bastante complejas. Sin embargo, no se preocupe porque solo necesita crear las funciones necesarias usted mismo.

Paso

Cree una función definida por el usuario en Microsoft Excel Paso 1
Cree una función definida por el usuario en Microsoft Excel Paso 1

Paso 1. Cree un nuevo libro de trabajo o abra el libro de trabajo que desea procesar con Funciones definidas por el usuario (UDF)

Cree una función definida por el usuario en Microsoft Excel Paso 2
Cree una función definida por el usuario en Microsoft Excel Paso 2

Paso 2. Abra el Editor de Visual Basic en Microsoft Excel a través de Herramientas-> Macro-> Editor de Visual Basic (o presione el atajo Alt + F11)

Cree una función definida por el usuario en Microsoft Excel Paso 3
Cree una función definida por el usuario en Microsoft Excel Paso 3

Paso 3. Haga clic en el botón Módulo para agregar un nuevo módulo a su hoja de trabajo

Puede crear una UDF en un libro de trabajo sin agregar un módulo nuevo, pero la función no funcionará en otras hojas de trabajo del mismo libro.

Cree una función definida por el usuario en Microsoft Excel Paso 4
Cree una función definida por el usuario en Microsoft Excel Paso 4

Paso 4. Cree la "cabeza" o el "prototipo" de su función

El prototipo de función debe seguir la siguiente estructura:

función pública "Nombre de función" (parámetro1 como tipo1, parámetro2 como tipo2) como tipo de resultado.

Los prototipos pueden tener tantas funciones como sea posible, y sus tipos pueden ser todos los tipos de datos básicos o tipos de objetos de Excel en forma de Rango. Puede pensar en los parámetros como "operantes" (operadores) sobre los que actuará la función. Por ejemplo, cuando escribe SIN (45) para calcular el seno de 45 grados, el número 45 se tomará como parámetro. Luego, el código de función usará esos valores para realizar cálculos y mostrar los resultados.

Cree una función definida por el usuario en Microsoft Excel Paso 5
Cree una función definida por el usuario en Microsoft Excel Paso 5

Paso 5. Agregue el código de función para asegurarse de que: 1) usa el valor dado por el parámetro; 2) pasar el resultado al nombre de la función; y 3) cerrar la función con la frase "función final". Aprender a programar en VBA o en cualquier otro idioma requiere mucho tiempo y orientación detallada. Afortunadamente, estas funciones suelen tener pequeños bloques de código y no hacen mucho uso de las características del lenguaje de programación. A continuación, se muestran algunos elementos del lenguaje VBA que se pueden utilizar:

  1. El bloque If (if), que le permite ejecutar una parte del código solo si se cumple la condición. Como ejemplo:
  2. Resultado del curso de función pública (como valor entero) como cadena

    Si valor> = 5 Entonces

    Resultados del curso = "Aceptado"

    Demás

    Resultados del curso = "Rechazado"

    Terminara si

    Función final

    Observe los elementos en el bloque de código If:

    SI condición ENTONCES código ELSE código END SI

  3. . Puede omitir la palabra clave Else junto con la segunda parte del código, ya que es opcional.
  4. El bloque Do (do), que ejecuta una parte del código Mientras o Hasta cuando o hasta que se cumple la condición. Como ejemplo:
  5. Función pública BilPrima (valor como entero) como booleano

    Dim i como entero

    i = 2

    BilPrima = Verdadero

    Hacer

    Si valor / i = Int (valor / i) Entonces

    BilPrima = Falso

    Terminara si

    yo = yo + 1

    Bucle mientras i <valor y númeroPrima = verdadero

    Función final

    Mira de nuevo los elementos:

    DO codifique LOOP WHILE / HASTA condición

  6. . También tenga en cuenta la segunda línea que "declara" la variable. Puede agregar variables a su código para su uso posterior. Las variables actúan como valores temporales en el código. Finalmente, considere la declaración de función como BOOLEAN, que es un tipo de datos que solo permite valores VERDADEROS o FALSOS. Este método para determinar los números primos está lejos de ser óptimo, pero el código se ha escrito de tal manera que es fácil de leer.
  7. Para bloque (a), que ejecuta una cierta cantidad de código. Como ejemplo:
  8. Factorial de función pública (valor como entero) siempre que

    Resultados atenuados siempre que

    Dim i como entero

    Si valor = 0 Entonces

    resultado = 1

    ElseIf value = 1 Entonces

    resultado = 1

    Demás

    resultado = 1

    Para i = 1 para valorar

    resultado = resultado * i

    próximo

    Terminara si

    Factorial = resultado

    Función final

    Mira de nuevo los elementos:

    PARA variable = límite inferior HASTA límite superior del código SIGUIENTE

    . Además, tenga en cuenta el elemento ElseIf adicional en la instrucción If, que le permite agregar más opciones al código que se está ejecutando. Finalmente, considere la función "resultado" y la variable declarada como Long. El tipo de datos Long permite valores mucho más grandes que Integer.

    A continuación se muestra el código de una función que convierte números pequeños en palabras.

    Cree una función definida por el usuario en Microsoft Excel Paso 6
    Cree una función definida por el usuario en Microsoft Excel Paso 6

    Paso 6. Regrese al libro de trabajo y use la función escribiendo el símbolo “igual” (=) seguido del nombre de la función en la celda

    Escriba los corchetes de apertura ("(") después del nombre de la función, utilizando el signo coma para separar los parámetros, y terminar con corchetes de cierre (“)”). Como ejemplo:

    = Número a letra (A4)

    . También puede utilizar fórmulas caseras buscándolas en categorías Usuario definido dentro de la opción Insertar fórmula. Simplemente haga clic en el botón FX a la izquierda de la barra de fórmulas. Hay tres tipos de formas de parámetros en funciones:

    1. Un valor constante que se escribe directamente en la fórmula de la celda. En este caso, se debe citar el texto (cadena).
    2. Referencias de celda, por ejemplo B6 o rango como A1: C3 (el parámetro debe ser del tipo de datos "Rango")
    3. Otra función que está incluida en su función (su función también puede estar incluida en otra función), por ejemplo: = Factorial (MAX (D6: D8))

      Cree una función definida por el usuario en Microsoft Excel Paso 7
      Cree una función definida por el usuario en Microsoft Excel Paso 7

      Paso 7. Asegúrese de que los resultados sean correctos

      Úselo varias veces para asegurarse de que la función pueda manejar correctamente varios valores de parámetros:

      Consejos

      • Al escribir bloques de código en estructuras de control como If, For, Do, etc., asegúrese de sangrar (inserte el borde de la línea izquierda ligeramente dentro) del bloque de código presionando la barra espaciadora varias veces o tabulador. Esto hará que el código sea más fácil de entender y los errores serán mucho más fáciles de encontrar. Además, el aumento de la funcionalidad se vuelve más fácil de realizar.
      • Si no sabe cómo escribir código para funciones, lea el artículo Cómo escribir una macro simple en Microsoft Excel.
      • A veces, las funciones no necesitan todos los parámetros para calcular el resultado. En este caso, puede utilizar la palabra clave opcional antes del nombre del parámetro en el encabezado de la función. Puede usar la función IsMissing (parameter_name) en su código para determinar si a un parámetro se le asigna un valor o no.
      • Utilice nombres no utilizados como funciones en Excel para que no se sobrescriban ni eliminen funciones.
      • Excel tiene muchas funciones integradas y la mayoría de los cálculos se pueden realizar utilizando estas funciones integradas, ya sea individualmente o todas a la vez. Asegúrese de echar un vistazo a la lista de funciones disponibles antes de comenzar a codificar. La ejecución se puede realizar más rápido si utiliza funciones integradas.

      Advertencia

      • Por razones de seguridad, muchas personas desactivan las macros. Asegúrese de notificar a los destinatarios de su libro de trabajo que el libro de trabajo enviado tiene macros y que estas macros no dañarán sus computadoras.
      • La función utilizada en este artículo no es la mejor manera de resolver el problema relacionado. El ejemplo se utiliza para explicar el uso de estructuras de control del lenguaje.
      • VBA, como otros lenguajes, tiene otras estructuras de control además de Do, If y For. La estructura discutida aquí solo describe lo que se puede hacer en el código fuente de la función. Hay muchas guías en Internet que pueden usarse para ayudarlo a aprender VBA.

Recomendado: