¿Cómo crear una función definida por el usuario en Excel VBA?

Una función es una colección de código. Como desarrollador, muy a menudo necesitamos una función personalizada (función definida por el usuario) en nuestros proyectos. Aquí explicamos cómo crear una UDF (función definida por el usuario) para contar/devolver el Número de vocales en una string dada usando Excel VBA.  

Ejemplo de sintaxis de función personalizada:

Function Name: countVowel()
Input parameter: an excel cell
Output: Return an integer (Number of vowels)

Implementación:

Siga los pasos a continuación para crear una función definida por el usuario en Excel VBA:

Paso 1: abra un archivo de Excel, para crear la función definida por el usuario «countVowel()».

Paso 2: Presione Alt + F11 – para abrir el Editor de Visual Basic.

Paso 3: Haga clic en Insertar >> Módulo, que agregará un nuevo módulo como en Img1.

Imagen 1

Paso 4: escriba el siguiente código en la «ventana de código».

  • Nombre de función con parámetro Rango
Function countVowel(rg As Range)
  • Itere cada carácter de una string determinada y verifique que el carácter sea vocal o no. Si es un carácter vocálico, aumente el número de vocales = número de vocales +1
For i = 1 To Len(rg.Value)
    textValue = UCase(Mid(rg.Value, i, 1))
    If textValue Like "[AEIOU]" Then
        vowelCount = vowelCount + 1
    End If
Next i
  • Devuelve el número de vocales.
countVowel = vowelCount
End Function 

Paso 5: guarde su libro de trabajo de Excel como libro de trabajo habilitado para macros de Excel (*.xlsm) 

Paso 6: escriba » Cliente » en la celda «A1″ y » Vowels_Count » en la celda «B1» como encabezado.

  • Complete los nombres en las celdas A2:A6

Paso 7: escriba la fórmula a continuación en la celda «B2» (Img 2) y arrástrela para completar «B2: B6» (Img 3)

=countVowel(A2)

imagen 2

Imagen 3

Publicación traducida automáticamente

Artículo escrito por sk123online y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *