VBA Función Len – Obtener Longitud de Cadena
In this Article
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