VBA CLng

Função Excel VBA CLng

“CLNG” significa tipo de dados “Converter para Longo” O limite do tipo de dados inteiro está entre -32768 a 32767, portanto, qualquer excesso que você deseja armazenar para essas variáveis, precisamos usar o tipo de dados LONG no VBA.

As variáveis ​​são fundamentais em qualquer linguagem de programação e o VBA também não é diferente. Sem usar variáveis, é quase impossível escrever códigos longos. Se as variáveis ​​são importantes, então a variável de tipo de dados que atribuímos a essas variáveis ​​é ainda mais importante porque o tipo de dados que atribuímos a elas é o resultado final que obtemos.

Freqüentemente, podemos atribuir os dados numéricos como “String”, então isso gerará um erro durante os cálculos, então, usando funções de conversão, podemos converter o tipo de dados que desejamos. As funções de conversor comumente usadas são CLng, CInt, CDbl, CDate, CDec em vba. Neste artigo, mostraremos a você a função de conversão de tipo de dados inteiros “CLNG”.

Sintaxe

Abaixo está a sintaxe da função CLNG.

  • Expressão nada mais é do que o valor ou a variável que queremos converter para o tipo de dados LONG.

Observação: o valor que estamos tentando converter deve ser um valor numérico diferente de um valor numérico que causará um “Erro de tempo de execução 13: incompatibilidade de tipo”

Exemplos para usar a função CLng no VBA

Você pode baixar este modelo VBA CLNG Excel aqui - modelo VBA CLNG Excel

Exemplo 1

Agora veremos como convertemos o valor armazenado do texto para o tipo de dados “Longo”.

Para obter um exemplo, veja o código abaixo.

Código:

 Sub CLNG_Example1 () Dim LongNumber As String Dim LongResult As Long LongNumber = "2564589" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Portanto, agora examine cuidadosamente o código para entender como isso funciona.

Primeiro, declaramos duas variáveis ​​String e Long, respectivamente.

Código:

 Dim LongNumber As String Dim LongResult As Long 

Para a variável string, atribuímos o número do valor, mas entre aspas duplas, então o que isso fará é tratar o número “2564589” como uma string, não como uma variável “Longa”. Agora, para a outra variável LongResult, usamos a função Clng (LongNumber) para converter o número armazenado da string em uma variável LONG.

A próxima caixa de mensagem mostrará o resultado como um número LONG que é convertido de string para tipo de dados longos.

Resultado:

Exemplo # 2

Agora dê uma olhada no código abaixo.

Código:

 Sub CLNG_Example2 () Dim LongNumber As String Dim LongResult As Long LongNumber = "Long Number" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Isso deve nos dar o resultado como “Type Mismatch” .

Entender por que o erro está ocorrendo é muito importante para corrigi-lo. Quando você olha de perto as variáveis ​​para a primeira variável LongNumber, atribuímos o valor do texto como “Long Number”, então usamos a função Excel VBA CLNG para converter isso para o tipo de dados LONG.

A razão pela qual recebemos este erro é que o tipo de dados LONG pode aceitar apenas o tipo de dados numéricos, uma vez que fornecemos o valor da string para a variável, ele não pode converter o valor da string ou o valor do texto em um tipo de dados longo, então dá o erro como “ Type Mismatch ”.

Exemplo # 3

Outro erro que obtemos com o tipo de dados LONG é “Erro de estouro em vba”, ou seja, o tipo de dados de variável longa pode conter valores de -2.147.483.648 a 2.147.483.647. Portanto, qualquer valor acima disso causará um erro de estouro.

Para obter um exemplo, veja o código abaixo.

Código:

 Sub CLNG_Example3 () Dim LongNumber As String Dim LongResult As Long LongNumber = "25645890003" LongResult = CLng (LongNumber) MsgBox LongResult End Sub 

Para a variável “LongNumber” atribuí o número “25645890003” que está acima do limite do tipo de dados “Long”. Quando executamos o código acima, ele encontrará um erro “Overflow” .

Portanto, quando você estiver convertendo qualquer outro tipo de dados para o tipo de dados Longos, precisamos ter em mente todas as coisas acima.

Coisa para lembrar aqui

  • CLNG significa convert to long.
  • Esta função converte o outro tipo de dados em um tipo de dados longo.
  • Você precisa saber o limite do tipo de dados longos para evitar erro de estouro.