Función Len

Devuelve un Long que contiene el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable.

Sintaxis

Len(string | varname)

La sintaxis de la función Len consta de las siguientes partes:

Parte Descripción
string Cualquier expresión de cadena válida. Si string contiene Null, se devuelve Null.
varname Cualquier nombre de variable válido. Si varname contiene Null, se devuelve Null. Si varname es una Variante, Len lo trata como una Cadena y siempre devuelve el número de caracteres que contiene.

Observaciones

Se debe especificar uno (y solamente uno) de los dos posibles argumentos. Con tipos definidos por el usuario, Len devuelve el tamaño tal y como se escribirá en el archivo.

Nota

Use la función LenB con datos de byte incluidos en una cadena, como en los lenguajes de conjunto de caracteres de doble byte (DBCS). En lugar de devolver el número de caracteres de una cadena, LenB devuelve el número de bytes usado para representar la cadena. Con tipos definidos por el usuario, LenB devuelve el tamaño en memoria, incluido el relleno entre elementos. Para el ejemplo de código que usa MidB, vea el segundo ejemplo del tema de ejemplo.

Nota

Len puede no ser capaz de determinar el número real de bytes de almacenamiento necesario cuando se usa con cadenas de longitud variable en tipos de datos definidos por el usuario.

Ejemplo

En el primer ejemplo, se usa Len que devuelve el número de caracteres de una cadena o el número de bytes necesarios para almacenar una variable. El bloque Type...End Type que define CustomerRecord debe estar precedido de la palabra clave Private si aparece en un módulo de clase. En un módulo estándar, una instrucción Type puede ser Public.

Type CustomerRecord    ' Define user-defined type.
    ID As Integer    ' Place this definition in a 
    Name As String * 10    ' standard module.
    Address As String * 30
End Type

Dim Customer As CustomerRecord    ' Declare variables.
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World"    ' Initialize variable.
MyLen = Len(MyInt)    ' Returns 2.
MyLen = Len(Customer)    ' Returns 42.
MyLen = Len(MyString)    ' Returns 11.
MyLen = Len(MyCur)    ' Returns 8.

El segundo ejemplo usa LenB y una función definida por el usuario (LenMbcs) para devolver el número de caracteres de byte de una cadena si ANSI se usa para representar la cadena.

Function LenMbcs (ByVal str as String)
    LenMbcs = LenB(StrConv(str, vbFromUnicode))
End Function

Dim MyString, MyLen
MyString = "ABc"
' Where "A" and "B" are DBCS and "c" is SBCS.
MyLen = Len(MyString)
' Returns 3 - 3 characters in the string.
MyLen = LenB(MyString)
' Returns 6 - 6 bytes used for Unicode.
MyLen = LenMbcs(MyString)
' Returns 5 - 5 bytes used for ANSI.

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.