Este tutorial demostrará cómo usar la función CLng VBA para convertir una expresión al tipo de datos de entero largo.
Función CLng
VBA CLng Convertir expresión a larga
La función VBA CLng se puede utilizar para convertir expresiones a tipos de datos largos dentro del código VBA.
123456 | Sub CLngExample_1 ()MsgBox CLng (12.34) 'El resultado es: 12MsgBox CLng (12.345) 'El resultado es: 12MsgBox CLng (-124) 'El resultado es: -124MsgBox CLng (-12.34) 'El resultado es: -12End Sub |
Redondeo de CLng de VBA
La función VBA CLng redondeará la parte decimal de un tipo de número o una expresión similar a un número. Sin embargo, no se redondea correctamente en todos los casos. Cuando la parte decimal es 0.5, la función VBA CLng devuelve el entero par más cercano.
1234567891011 | Sub CLngExample_2 ()MsgBox CLng (0.34) 'El resultado es: 0MsgBox CLng (0,99) 'El resultado es: 1MsgBox CLng (-124.95) 'El resultado es: -125MsgBox CLng (1.5) 'El resultado es: 2MsgBox CLng (2.5) 'El resultado es: 2End Sub |
Podemos agregar un número decimal relativamente pequeño a nuestro valor decimal esperado para cambiar el comportamiento de la función VBA CLng al esperado.
1234567891011 | Sub CLngExample_3 ()MsgBox CLng (2.5)'El resultado es: 2MsgBox CLng (2.5 + 0.001)'El resultado es: 3MsgBox CLng (14,5)El resultado es: 14MsgBox CLng (14,5 + 0,001)El resultado es: 15End Sub |
Programación VBA | ¡Code Generator funciona para usted!
VBA CLng Conversión de cadenas a longs
La función VBA CLng se puede utilizar para convertir cadenas en longs si los caracteres de la cadena tienen un significado como números.
123456789101112131415161718 | Sub CLngExample_4 ()Dim StrEx como cadenaStrEx = "112"MsgBox CLng (StrEx)El resultado es: 112StrEx = "112,3"MsgBox CLng (StrEx)'El resultado es: 112 112,3 se redondeaStrEx = "11,2"MsgBox CLng (StrEx)El resultado es: 112, se ignoraStrEx = "$ 112"MsgBox CLng (StrEx)El resultado es: 112 $ se ignoraEnd Sub |
Error 13 de tiempo de ejecución de VBA CLng Discrepancia de tipo
El uso de la función VBA CLng con cadenas que contienen caracteres no numéricos o caracteres que no tienen significado en el contexto numérico dará como resultado un error de tiempo de ejecución "13": no coinciden los tipos.
1234567 | Sub CLngExample_5 ()'El código a continuación resultará en un mensaje de ERROR'CLng no puede manejar caracteres no numéricosDim StrEx como cadenaStrEx = "Ab13"MsgBox CLng (StrEx)End Sub |
Desbordamiento del error 6 en tiempo de ejecución de VBA CLng
El uso de la función VBA CLng con cadenas que dan como resultado un valor menor o mayor que el entero esperado resultará en un error de tiempo de ejecución "6": desbordamiento. El tipo de datos entero en Excel tiene un valor esperado de -2,147,483,648 a 2,147,483,647.
1234567 | Sub CLngExample_6 ()'El código a continuación resultará en un mensaje de ERROR'CLng no puede manejar caracteres no numéricosDim StrEx como cadenaStrEx = "2147483648"MsgBox CLng (StrEx)End Sub |
¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!
Configuración regional de VBA CLng
La función VBA CLng tiene un comportamiento diferente al convertir cadenas con coma o punto. Utiliza la configuración regional del sistema operativo para el separador decimal y el separador de dígitos.
12345678910111213141516 | Sub CLngExample_7 ()Dim StrEx como cadenaStrEx = "1,9"MsgBox CLng (StrEx)"Si la configuración regional tiene, como separador de agrupación,El resultado es: 19"Si la configuración regional tiene, como separador decimal,'El resultado es: 2 (2 porque 1,9 se redondea)StrEx = "1.9"MsgBox CLng (StrEx)"Si la configuración regional tiene. como un separador de agrupación entoncesEl resultado es: 19"Si la configuración regional tiene. como separador decimal entonces'El resultado es: 2 (2 porque 1,9 se redondea)End Sub |
Programación VBA | ¡Code Generator funciona para usted!
VBA CLng Conversión de valores booleanos en valores largos
La función VBA CLng puede convertir variables booleanas en longs. Si la expresión evaluada es verdadera, la longitud resultante es -1 y si la expresión evaluada es falsa, la longitud resultante es 0.
1234567891011121314 | Sub CLngExample_8 ()Dim BoolEx como booleanoBoolEx = VerdaderoMsgBox CLng (BoolEx)'El resultado es: -1MsgBox CLng (2 = 2)'El resultado es: -1BoolEx = FalsoMsgBox CLng (BoolEx)'El resultado es: 0MsgBox CLng (1 = 2)'El resultado es: 0End Sub |
VBA CLng Conversión de fechas en largos
La función VBA CLng puede convertir una variable de fecha en un archivo long. El valor devuelto es el número interno utilizado por Excel para el almacenamiento de fechas redondeado. Si ese número está fuera de los límites largos esperados para VBA, obtenemos un error de tiempo de ejecución "6": desbordamiento.
123456789101112 | Sub CLngExample_9 ()Dim DateEx como fechaDateEx = # 2/3/1940 #MsgBox CLng (DateEx)El resultado es: 14644DateEx = # 8/7/1964 #MsgBox CLng (DateEx)El resultado es: 23596DateEx = # 3/7/1934 11:32:04 AM #MsgBox CLng (DateEx)El resultado es: 12485End Sub |