Tipo de Dados Duplo VBA do Excel

No VBA, temos diferentes tipos de dados que são usados ​​conforme a necessidade. Assim, o tipo de dados Inteiro é usado para números, o tipo de dados String é usado para alfabetos e texto e um tipo de dados Longo é usado quando precisamos usar números ou texto sem limite. Da mesma forma, temos um tipo de dados Double que é usado para números decimais. Embora, possamos usar Single para decimais, mas isso manterá apenas valores com 2 pontos decimais. Se queremos usar valores decimais sem limite, temos um tipo de dados Double para isso.

Se usarmos inteiro, em vez de duplo, para valores decimais, ele converterá o valor decimal no número inteiro mais próximo. Além disso, também existe um limite de uso do tipo de dados Double. Double pode acomodar valores negativos de -1.79769313486231E308 a -4.94065645841247E324 e para valores positivos de 4.94065645841247E-324 a 1.79769313486232E308. Além disso, o valor não pode ser aceito.

Como usar o tipo de dados duplo VBA no Excel?

Abaixo estão os diferentes exemplos para usar o Tipo de Dados Duplo no Excel VBA.

Você pode fazer o download deste modelo VBA Double Excel aqui - Modelo VBA Double Excel

VBA Duplo - Exemplo # 1

Neste exemplo, veremos como diferentes tipos de dados, como Inteiros e Único, fornecem a saída para qualquer valor decimal e, por outro lado, como o tipo de dados Duplo fornece a saída do mesmo valor decimal. Para isso, siga as etapas abaixo:

Etapa 1: Abra um módulo na guia do menu Inserir.

Etapa 2: escreva o subprocedimento para o VBA Double. Podemos escolher qualquer outro nome para definir o nome do VBA Double, conforme nossa escolha.

Código:

 Sub VBA_Double () End Sub 

Etapa 3: Agora defina uma variável, digamos que seja A como Inteiro, como mostrado abaixo.

Código:

 Sub VBA_Double () Dim A como número inteiro End Sub 

Etapa 4: atribua um valor decimal à variável definida. Digamos que o valor decimal seja 1, 23456789, como mostrado abaixo.

Código:

 Sub VBA_Double () Dim A como número inteiro A = 1, 23456789 End Sub 

Etapa 5: agora precisamos de uma plataforma onde possamos ver a saída. Aqui, podemos usar a função Msgbox ou Debug.Print. Usaremos o Msgbox, que é a maneira mais tradicional de fazer.

Código:

 Sub VBA_Double () Dim A como número inteiro A = 1, 23456789 MsgBox A End Sub 

Etapa 6: execute-o clicando no botão Play ou pressionando a tecla F5.

Veremos a caixa de mensagem de saída com o valor "1". Isso significa que o tipo de dados Inteiro converteu o valor decimal no número inteiro mais próximo como 1.

Etapa 7: Agora vamos alterar o tipo de dados de Inteiro para Único e ver qual tipo de dados Único nos retornará.

Código:

 Sub VBA_Double () Dim A como único A = 1, 23456789 MsgBox A End Sub 

Etapa 8: execute novamente o código clicando no botão Play ou pressionando a tecla F5.

Veremos que o tipo de dados Single retornou o valor decimal que é 1 . 234568, enquanto alimentamos o valor de entrada como 1, 23456789 .

Isso significa que o tipo de dado Single converte o valor decimal alimentado no valor decimal possível mais próximo pela conversão do número do último dígito no valor mais próximo, que deve ser menor que 5.

Etapa 9: Agora usaremos o tipo de dados Double no lugar de Single e veremos a saída que obteríamos.

Código:

 Sub VBA_Double () Dim A como duplo A = 1, 23456789 MsgBox A End Sub 

Etapa 10: execute novamente o código clicando no botão Play ou pressionando a tecla F5.

Veremos que a caixa de mensagem tem exatamente o mesmo valor que alimentamos, o que significa que Double não converteu o valor de entrada se estiver abaixo do seu limite.

VBA Duplo - Exemplo # 2

Neste exemplo, usaremos referências de célula. E começaremos a trabalhar da mesma maneira que vimos no exemplo-1. Para isso, temos alguns dados na coluna A com vários dígitos decimais.

Siga os passos abaixo:

Etapa 1: escreva o subprocedimento do VBA Double, como mostrado abaixo.

Código:

 Sub VBA_Double2 () End Sub 

Etapa 2: Primeiro, começaremos com Inteiro. Portanto, defina uma variável como Inteiro, como mostrado abaixo. Essa seria a nossa variável de entrada.

Código:

 Sub VBA_Double2 () Dim A como número inteiro End Sub 

Etapa 3: depois disso, definiremos novamente uma variável como um número inteiro. Essa é uma variável na qual armazenaremos a saída.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci como número inteiro End Sub 

Etapa 4: Abra um loop For-Next, como mostrado abaixo. É aqui que escreveremos a condição para obter os dados de uma coluna para outra coluna.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci como número inteiro para o próximo ponto final Sub 

Etapa 5: selecione o intervalo de células na variável A. Aqui, nossos dados são da célula A1 a A10.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci como número inteiro Para A = 1 a 10 Próximo A End Sub 

Etapa 6: Agora selecione os valores das células que queremos colocar. Aqui os valores das células estão na primeira coluna.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci Como número inteiro Para A = 1 a 10 Deci = Células (A, 1) .Valor Next A End Sub 

Etapa 7: Agora, colocaremos os valores selecionados na coluna 2, que é B na variável definida Deci .

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci Como número inteiro Para A = 1 a 10 Deci = Células (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Etapa 8: execute o código clicando no botão Play ou pressionando a tecla F5.

Como selecionamos o tipo de dados Inteiro para a variável de saída Deci, ele converteu os números decimais em números inteiros na coluna B.

Etapa 9: Vamos mudar o tipo de dados de Deci, que é a variável de saída de Inteiro para Único, como mostrado abaixo.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci como único para A = 1 a 10 Deci = Células (A, 1) .Value Cells (A, 2) .Value = Deci Próximo A End Sub 

Etapa 10: execute o código clicando no botão Play ou pressionando a tecla F5. Veremos que os números decimais da coluna A foram convertidos nos melhores números decimais mais próximos possíveis.

Etapa 11: Vamos alterar o tipo de dados da variável de saída de Único para Duplo . E veja, o que chegaremos na coluna B.

Código:

 Sub VBA_Double2 () Dim A como número inteiro Dim Deci As Double For A = 1 to 10 Deci = Cells (A, 1) .Value Cells (A, 2) .Value = Deci Next A End Sub 

Etapa 12: Execute o código novamente clicando no botão Reproduzir ou pressionando a tecla F5. É assim que o VBA Double funciona.

Prós e contras do VBA Double

  • O VBA Double converte o mesmo número em números decimais em um intervalo específico.
  • É bastante fácil de usar.
  • Podemos usar o tipo de dados Double em vez de Inteiro ou Único, de maneira semelhante.
  • Ele não considera o número decimal além do limite que vimos na seção de introdução acima.

Coisas para lembrar

  • O limite do uso do VBA Double para valores negativos é de -1.79769313486231E308 a -4.94065645841247E324 e para valores positivos é de 94065645841247E-324 a 1.79769313486232E308.
  • O VBA Double pode conter até 14 dígitos, se estiver abaixo do limite acima indicado.
  • O VBA Double usa 8 bytes de memória do sistema, cada tipo usado.

Artigos recomendados

Este é um guia para o Excel VBA Double. Aqui discutimos como usar tipos de dados duplos no Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Randomizar VBA (exemplos com modelo do Excel)
  2. Como renomear planilha no VBA?
  3. Como usar a instrução VBA ReDim?
  4. Declaração de variável VBA | Modelo do Excel
  5. Ambiente VBA

Categoria: