VBA Función Len – Obtener Longitud de Cadena

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on diciembre 11, 2022

Este tutorial demostrará cómo usar la función Len de VBA para obtener la longitud de una cadena.

Función Len

La función Len de VBA devuelve la longitud de una cadena especificada.

VBA Len Cuenta Caracteres

La función Len de VBA cuenta los caracteres de una cadena.

Sub EjemploFuncionLen()

    MsgBox Len("12345")                    'Resultado es: 5
    
    MsgBox Len("12")                       'Resultado es: 2
    
    MsgBox Len("1")                         'Resultado es: 1
    
    MsgBox Len(" ")                         'Resultado es: 1
    
    'Hay un carácter de espacio ahí.
    
    MsgBox Len("")                          'Resultado es: 0
    
    MsgBox Len("AB Cd")                     'Resultado es: 5

End Sub

VBA Len Cadenas o Variantes

La función Len de VBA puede contar el número de caracteres en variables declaradas como cadenas o variantes. En realidad, VBA Len tratará una variante como una cadena. Si la Función Len de VBA se utiliza con un entero, largo, simple o doble entonces va a contar el número de bytes necesarios para almacenar la variable.

Sub Ejemplo_2_FuncionLen()

    Dim VarEx1 As String
    VarEx1 = 12345
    MsgBox Len(VarEx1)        'Resultado: 5
    'Len cuenta el número de caracteres de la variable
    
    Dim VarEx2 As Variant
    VarEx2 = 12345
    MsgBox Len(VarEx2)        'Resultado: 5
    'Len cuenta el número de caracteres de la variable
    
    Dim VarEx3 As Integer
    VarEx3 = 12345
    MsgBox Len(VarEx3)        'Resultado: 2
    'Len cuenta el número de bytes utilizados para almacenar la variable
    
    Dim VarEx4 As Long
    VarEx4 = 12345
    MsgBox Len(VarEx4)        'Resultado: 2
    'Len cuenta el número de bytes utilizados para almacenar la variable
    
    Dim VarEx5 As Single
    VarEx5 = 12345
    MsgBox Len(VarEx5)        'Resultado: 2
    'Len cuenta el número de bytes utilizados para almacenar la variable
    
    Dim VarEx6 As Double
    VarEx6 = 12345
    MsgBox Len(VarEx6)        'Resultado: 2
    'Len cuenta el número de bytes utilizados para almacenar la variable

End Sub

VBA Len Contar Ocurrencias de un Carácter

La función Len de VBA puede usarse con la función Reemplazar de VBA para contar cuántas veces se encuentra un carácter en una cadena.

VBA Replace Función puede reemplazar una subcadena con otra subcadena en un texto:

MsgBox Replace("XBCX", "X", "7")      'Resultado: "7BC7"

Podemos utilizar Replace para eliminar los caracteres que queremos contar con «» y luego encontrar la diferencia de longitud antes y después de la sustitución.

Sub Ejemplo_3_Funcion_Len()

    Dim StrEx As String 'Definir una variable de cadena
    StrEx = "Jack,John,Jim,Jordan"
    
    MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Resultado: 3
    
    'Desglosando el código anterior
    MsgBox Len(StrEx)                       'Resultado: 20
    MsgBox Replace(StrEx, ",", "")          'Resultado: "JackJohnJimJordan"
    MsgBox Len(Replace(StrEx, ",", ""))     'Resultado: 17
    
    MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Resultado: 20-17=3
End Sub

VBA Len Contar Ocurrencias de una Subcadena

La función Len de VBA puede ser utilizada con la función Reemplazar de VBA para contar cuántas veces se encuentra una subcadena en una cadena. La función Replace  de VBA puede reemplazar una subcadena con otra subcadena en un texto:

MsgBox Replace("XB cX", "X", "7")      'Resultado: "7B c7"

Podemos usar Replace para eliminar las subcadenas que queremos contar con «» y luego encontrar la diferencia de longitud antes y después del reemplazo. Finalmente, necesitamos dividir la diferencia con la longitud de la subcadena que reemplazamos.

Sub Ejemplo_4_Funcion_Len()

    Dim StrEx As String 'Definir una variable de cadena
    StrEx = "Jack, John, Jim, Jordan"
    
    Dim SubStr As String 'Definir una variable de subcadena
    SubStr = ", "
    'Averiguaremos cuántas veces SubStr se encuentra dentro de StrEx
    
    MsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr) 'Resultado: 3
    
    'Desglosando el código anterior
    MsgBox Len(StrEx)                           'Resultado: 23
    MsgBox Replace(StrEx, SubStr, "")           'Resultado: "JackJohnJimJordan"
    MsgBox Len(Replace(StrEx, SubStr, ""))      'Resultado: 17
    
    MsgBox Len(StrEx) - Len(Replace(StrEx, SubStr, "")) 'Resultado: 23-17=6
    MsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr) 'Resultado: (23-17)/2=3
End Sub
vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples