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 ExcelVBA 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 -
- Randomizar VBA (exemplos com modelo do Excel)
- Como renomear planilha no VBA?
- Como usar a instrução VBA ReDim?
- Declaração de variável VBA | Modelo do Excel
- Ambiente VBA