VBA Long (exemplo) - Guia passo a passo para tipo de dados longos no Excel VBA

O que é um tipo de dados longos em VBA?

Long é um tipo de dados em VBA que é usado para armazenar os valores numéricos, sabemos que o inteiro também contém valores numéricos, mas Long é diferente de inteiros porque o intervalo para o armazenamento de dados é muito grande no caso de tipo de dados longos também em longos tipo de dados, podemos conter valores decimais também, este é um tipo de dados embutido.

“Longo”, como o nome indica, deve conter o valor de algo grande. “Long” é um tipo de dado numérico no VBA Excel.

O tipo de dados longos no Excel VBA pode conter os valores de 0 a 2, 147, 483, 647 para números positivos, e para o número negativo pode conter de 0 a -2, 147, 483, 648.

O tipo de dados VBA Long requer 4 bytes de armazenamento de memória do computador. Esta é a memória variável do tipo de dados de número inteiro duplo (2 bytes) e metade da memória variável do tipo de dados duplo (8 bytes)

Nunca vi um cenário em que desejasse utilizar totalmente o limite de um tipo de dados VBA Long em minha curta carreira. Mas vou mostrar alguns dos exemplos para entender melhor.

Exemplos de tipo de dados longos VBA

Abaixo estão os exemplos de tipo de dados Excel VBA Long.

Exemplo Longo VBA # 1

Assim que você declarar o tipo de dados da variável como “Longo”, você pode atribuir os valores de -2, 147, 483, 648 a 2, 147, 483, 648.

Por exemplo, declare a variável como tipo de dados longo.

Código:

Sub Long_Example1 () Dim k As Long End Sub

Vamos atribuir o valor como uma contagem total de linhas da planilha.

Para obter a contagem total de linhas no código da planilha do Excel é “Rows. Contagem"

Código:

Sub Long_Example1 () Dim k As Long k = Rows.Count End Sub

Agora mostre o valor na caixa de mensagem.

Código:

Sub Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub

Execute este código e veja qual é a contagem total de linhas na planilha.

Diz que temos mais de 1 milhão de linhas na planilha.

Agora, para melhor compreensão, alterarei o tipo de dados de LONG para INTEGER.

Código:

Sub Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub

Se eu executar o código VBA, receberei a mensagem de erro como “Estouro”.

A razão pela qual recebemos esse erro no VBA é que o tipo de dados “Inteiro” pode conter os valores de -31768 a 32767 apenas. Neste caso, “Rows. Count ”retornará o número que é maior que o limite da variável“ inteiro ”.

Atribuir o valor de mais de 1 milhão à variável que pode conter apenas 32.767 causa o erro de estouro aqui.

Exemplo longo de VBA # 2

Encontre a última linha usando variável longa

Encontrar a última linha usada da planilha é o mais importante da codificação. A fim de encontrar a última linha usada da planilha, é necessário declarar a variável. Ao declarar a variável e atribuir um tipo de dados, é necessário algum bom senso.

Suponha que você tenha dados terminados em 25.000 linhas, conforme mostrado na imagem abaixo.

Agora eu sei que o último número de linha usado é 25000. Para isso, não precisamos do tipo de dados “LONG” porque o tipo de dados “INTEGER” pode me dar a última linha.

Veja o código abaixo para sua informação.

Código:

Sub Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox k End Sub

Se eu executar este código, obterei o último número de linha usado da planilha em que estou trabalhando no momento.

Como codificador, é importante saber o tamanho dos dados que você terá no futuro. Porque, no momento, os dados podem ser terminando em 25000 ª fila, mas se os dados aumenta para além do limite “Integer”, ou seja, 32767, faz com que um erro de estouro.

Por exemplo, eu vou aumentar os dados para 32768 th linhas.

Agora, se eu executar o mesmo código novamente, não receberei o valor. Em vez disso, obterei o erro abaixo.

Lembre-se, eu aumentei o limite em apenas 1 além do limite do valor “Inteiro”, então recebi um erro de estouro.

Portanto, é importante saber o tamanho dos seus dados antes de atribuir um tipo de dados à variável. É sempre uma opção melhor declarar a variável como “LONG” sem pensar no tamanho dos dados no futuro.

Alternativas para Excel VBA Long Variable

Você já deve estar pensando sobre o que aconteceria se quisermos manter o valor mais do que o limite de uma variável longa. Para isso, precisamos usar diferentes tipos de dados, ou seja, VBA “String” ou “Variant”.

Lembre-se, no momento em que cruzar o número 2147483647, obteremos um erro de estouro em VBA com o tipo de dados LONG. Para armazenar mais do que este número, precisamos usar o tipo de dados “String” ou “Variant”.

Para String

Código:

Sub Long_Example2 () Dim k As String k = 2147483648 MsgBox k End Sub

Para Variante

Código:

Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub

Quando executarmos os códigos acima, ele mostrará o número mencionado.

Artigos interessantes...