VBA CLng

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 clave en cualquier lenguaje de programación y VBA tampoco es diferente. Sin usar variables, es casi una tarea imposible escribir códigos largos. Si las variables son importantes, entonces la variable de tipo de datos que asignamos a estas variables es aún más importante porque el tipo de datos que les asignamos es el resultado final 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 numérico. Cualquier valor que no sea numérico causará un "Error de tiempo de ejecución 13: No coinciden los tipos"

Ejemplos para usar la función CLng en VBA

Puede descargar esta plantilla de Excel de VBA CLNG aquí - Plantilla de Excel de VBA CLNG

Ejemplo 1

Ahora veremos cómo convertimos el valor almacenado de texto al tipo de datos "Long".

Para ver un 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 le 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 usado la función Clng (LongNumber) para convertir el número almacenado en la cadena en una variable LONG.

El siguiente cuadro de mensaje mostrará el resultado como un número LARGO que se convierte 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 muy importante para corregirlo. Cuando observa de cerca las variables para la primera variable LongNumber, le hemos asignado el valor de texto como "Número largo", entonces hemos utilizado 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 a un tipo de datos largo, por lo que da el error como " No coinciden los tipos ”.

Ejemplo # 3

Un error más que obtenemos con el tipo de datos LONG es "Error de desbordamiento en vba", es decir, el tipo de datos de variable larga puede contener valores de -2,147,483,648 a 2,147,483,647. Entonces, cualquier valor por encima de este causará un error de desbordamiento.

Para ver un 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” le he asignado el número “25645890003” que está por encima del límite del tipo de datos “Long”. Cuando ejecutamos el código anterior, encontrará un error de "desbordamiento" .

Por lo tanto, cuando convierta cualquier otro tipo de datos al tipo de datos Long, debemos tener en cuenta todas las cosas anteriores.

Algo para recordar aquí

  • CLNG significa convertir a largo.
  • Esta función convierte el otro tipo de datos en un tipo de datos largo.
  • Necesita conocer el límite del tipo de datos largos para evitar errores de desbordamiento.