Função VBA CLng - Converter Expressão em Longa

Índice

Este tutorial demonstrará como usar a função CLng VBA para converter uma expressão para o tipo de dados inteiro longo.

Função CLng

VBA CLng Converter Expressão em Longo

A função VBA CLng pode ser usada para converter expressões em tipos de dados longos dentro do código VBA.

123456 Sub CLngExample_1 ()MsgBox CLng (12.34) 'O resultado é: 12MsgBox CLng (12.345) 'O resultado é: 12MsgBox CLng (-124) 'O resultado é: -124MsgBox CLng (-12.34) 'O resultado é: -12End Sub

Arredondamento VBA CLng

A função VBA CLng arredondará a parte decimal de um tipo de número ou uma expressão semelhante a um número. No entanto, ele não é arredondado corretamente em todos os casos. Quando a parte decimal é 0,5, a função VBA CLng retorna o inteiro par mais próximo.

1234567891011 Sub CLngExample_2 ()MsgBox CLng (0.34) 'O resultado é: 0MsgBox CLng (0,99) 'O resultado é: 1MsgBox CLng (-124,95) 'O resultado é: -125MsgBox CLng (1.5) 'O resultado é: 2MsgBox CLng (2.5) 'O resultado é: 2End Sub

Podemos adicionar um número decimal relativamente pequeno ao nosso valor decimal esperado para alterar o comportamento da função VBA CLng para o esperado.

1234567891011 Sub CLngExample_3 ()MsgBox CLng (2,5)'O resultado é: 2MsgBox CLng (2,5 + 0,001)'O resultado é: 3MsgBox CLng (14.5)'O resultado é: 14MsgBox CLng (14,5 + 0,001)'O resultado é: 15End Sub

Programação VBA | O Code Generator funciona para você!

VBA CLng convertendo Strings em Longs

A função VBA CLng pode ser usada para converter strings em longos se os caracteres na string tiverem um significado como números.

123456789101112131415161718 Sub CLngExample_4 ()Dim StrEx como stringStrEx = "112"MsgBox CLng (StrEx)'O resultado é: 112StrEx = "112,3"MsgBox CLng (StrEx)'O resultado é: 112 112,3 é arredondadoStrEx = "11,2"MsgBox CLng (StrEx)'O resultado é: 112, é ignoradoStrEx = "$ 112"MsgBox CLng (StrEx)'O resultado é: 112 $ é ignoradoEnd Sub

Erro de tempo de execução de VBA CLng 13 incompatibilidade de tipo

Usar a função VBA CLng com strings que contêm caracteres não numéricos ou caracteres que não têm significado no contexto numérico resultará em um erro de tempo de execução '13': incompatibilidade de tipo.

1234567 Sub CLngExample_5 ()'O código abaixo resultará em uma mensagem ERROR'CLng não pode lidar com caracteres não numéricosDim StrEx como stringStrEx = "Ab13"MsgBox CLng (StrEx)End Sub

Estouro de erro 6 de tempo de execução VBA CLng

Usar a função VBA CLng com strings que resultam em um valor menor ou maior do que o número inteiro esperado resultará em um erro de tempo de execução '6': estouro. O tipo de dados inteiro no Excel tem um valor esperado de -2.147.483.648 a 2.147.483.647.

1234567 Sub CLngExample_6 ()'O código abaixo resultará em uma mensagem ERROR'CLng não pode lidar com caracteres não numéricosDim StrEx como stringStrEx = "2147483648"MsgBox CLng (StrEx)End Sub

Cansado de procurar exemplos de código VBA? Experimente o AutoMacro!

Configurações regionais VBA CLng

A função VBA CLng tem comportamento diferente na conversão de strings com vírgula ou ponto. Ele usa as configurações regionais do sistema operacional para separador decimal e separador de dígitos.

12345678910111213141516 Sub CLngExample_7 ()Dim StrEx como stringStrEx = "1,9"MsgBox CLng (StrEx)‘Se as configurações regionais tiverem, como um separador de agrupamento, então'O resultado é: 19‘Se as configurações regionais tiverem, como separador decimal, então'O resultado é: 2 (2 porque 1,9 é arredondado)StrEx = "1,9"MsgBox CLng (StrEx)‘Se as configurações regionais tiverem. como um separador de agrupamento, então'O resultado é: 19‘Se as configurações regionais tiverem. como um separador decimal então'O resultado é: 2 (2 porque 1,9 é arredondado)End Sub

Programação VBA | O Code Generator funciona para você!

VBA CLng convertendo booleanos em longos

A função VBA CLng pode converter variáveis ​​booleanas em longos. Se a expressão avaliada for verdadeira, o longo resultante será -1 e se a expressão avaliada for falsa, o longo resultante será 0.

1234567891011121314 Sub CLngExample_8 ()Dim BoolEx As BooleanBoolEx = TrueMsgBox CLng (BoolEx)'O resultado é: -1MsgBox CLng (2 = 2)'O resultado é: -1BoolEx = FalseMsgBox CLng (BoolEx)'O resultado é: 0MsgBox CLng (1 = 2)'O resultado é: 0End Sub

VBA CLng convertendo datas em longos

A função VBA CLng pode converter uma variável de data em uma longa. O valor retornado é o número interno usado pelo Excel para armazenamento de dados arredondados. Se esse número estiver fora dos limites longos esperados para o VBA, obteremos um erro de tempo de execução '6': estouro.

123456789101112 Sub CLngExample_9 ()Dim DateEx As DateDateEx = # 2/3/1940 #MsgBox CLng (DateEx)'O resultado é: 14644DateEx = # 8/7/1964 #MsgBox CLng (DateEx)'O resultado é: 23596DateEx = # 3/7/1934 11h32:04 #MsgBox CLng (DateEx)'O resultado é: 12485End Sub
wave wave wave wave wave