Función Excel VBA CLng
"CLNG" significa el tipo de datos "Convertir a largo". El límite del tipo de datos enteros está entre -32768 y 32767, por lo que cualquier exceso que desee almacenar en estas variables, entonces debemos usar el tipo de datos LONG en VBA.
Las variables son esenciales en cualquier lenguaje de programación, y VBA tampoco es diferente. Sin utilizar variables, es casi una tarea imposible escribir códigos largos. Si las variables son esenciales, entonces la variable de tipo de datos que asignamos a estas variables es aún más crítica porque el tipo de datos que les damos es el resultado que obtenemos.
A menudo, podemos asignar los datos numéricos como "Cadena", por lo que esto arrojará un error al hacer los cálculos, por lo que al usar funciones de conversión, podemos convertir el tipo de datos que queremos. Las funciones de conversión más utilizadas son CLng, CInt, CDbl, CDate, CDec en VBA. En este artículo, le mostraremos acerca de la función de conversión de tipo de datos enteros "CLNG".

Sintaxis
A continuación se muestra la sintaxis de la función CLNG.

- La expresión no es más que el valor o la variable que queremos convertir al tipo de datos LONG.
Nota: El valor que estamos tratando de convertir debe ser un valor numérico, cualquier cosa que no sea un valor numérico causará un "Error de tiempo de ejecución 13: No coinciden los tipos".
Ejemplos para usar la función CLng en VBA
Ejemplo 1
Ahora veremos cómo convertimos el valor almacenado en texto al tipo de datos "Long".
Por ejemplo, mire el siguiente código.
Código:
Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Entonces, ahora examine de cerca el código para comprender cómo funciona.
Primero, hemos declarado dos variables, String y Long, respectivamente.
Código:
Dim LongNumber As String Dim LongResult As Long

Para la variable de cadena, hemos asignado el número de valor pero entre comillas dobles, así que lo que hará es tratar el número "2564589" como una cadena, no como una variable "larga". Ahora, para la otra variable, LongResult, hemos utilizado la función Clng (LongNumber) para convertir el número almacenado en la línea en una variable LONG.
El siguiente cuadro de mensaje mostrará el resultado como un número LARGO convertido de cadena a tipo de datos largo.
Salida:

Ejemplo # 2
Ahora eche un vistazo al siguiente código.
Código:
Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Esto debería darnos el resultado como "No coinciden los tipos".

Comprender por qué ocurre el error es fundamental para corregirlo. Cuando examina de cerca las variables para la primera variable LongNumber, le hemos asignado el valor de texto como "Long Number", luego hemos usado la función excel VBA CLNG para convertir esto al tipo de datos LONG.

La razón por la que obtuvimos este error es que el tipo de datos LONG solo puede aceptar tipos de datos numéricos, ya que hemos proporcionado un valor de cadena a la variable, no puede convertir el valor de cadena o el valor de texto en un tipo de datos largo. Por lo tanto, da el error como "No coinciden los tipos".
Ejemplo # 3
Otro error que obtenemos con el tipo de datos LONG es "Error de desbordamiento en VBA", es decir, el tipo de datos de la variable Long puede contener valores de -2,147,483,648 2,147,483,647. Entonces, cualquier cantidad por encima de esto causará un error de desbordamiento.
Por ejemplo, mire el siguiente código.
Código:
Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub

Para la variable "LongNumber", he asignado el número "25645890003", que supera el límite del tipo de datos "Long". Cuando ejecutamos el código anterior, encontrará un error de "desbordamiento" .

Por lo tanto, al convertir cualquier otro tipo de datos a tipos de datos largos, debemos tener en cuenta todo lo anterior.
Lo que hay que recordar aquí
- CLNG significa convertir a largo.
- Esta función convierte el otro tipo de datos en un tipo de datos largo.
- Debe conocer el límite del tipo de datos extendidos para evitar errores de desbordamiento.