VBA – Tipo de dados Double (Dim Variable)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on September 10, 2023

Tipo de Variável Double

O tipo de dados Double do VBA é usado para armazenar números que exigem casas decimais. Ele pode armazenar de -1,79769313486231E308 a -4,94065645841247E-324 para valores negativos e de 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos.

Para declarar uma variável Double, você usa a declaração Dim (abreviação de Dimensão):

Dim dblA as Double

Em seguida, para atribuir um valor a uma variável, basta usar o sinal de igual:

dlbA = 3658.25

Colocar isso em um procedimento tem a seguinte aparência:

Sub dblExemplo()
'declarar a variável double
    Dim dblA as Double
'preencher a variável double
    dblA = 3658.25
'mostrar a caixa de mensagem
    MsgBox dblA
End Sub

Se você executar o código acima, a seguinte caixa de mensagem será exibida.

vba-double-declare

Tipo de Dados Single

O tipo de dados Single é apenas uma versão mais curta do tipo de dados Double. Devido a esse fato, ele pode afetar o arredondamento quando usado em um procedimento, pois o tipo de dados Single arredondará para 4 casas decimais, enquanto o tipo de dados Double arredondará para 12 casas decimais. Se você não precisar do tipo de dados Double, poderá usar o tipo de dados Single.

exemplo variavel single

Tipos de Dados Int ou Long

Se não precisar de uma casa decimal, você poderá usar o  tipo de dados Int ou Long.

Dim intA as Integer
Dim lngB as Long

Declarar Variável Double em Nível de Módulo ou Global

Nos exemplos anteriores, declaramos a variável Double em um procedimento. As variáveis declaradas com um procedimento só podem ser usadas dentro desse procedimento.

teste variavel double

Em vez disso, você pode declarar variáveis Double no nível do módulo ou global.

Nível do Módulo

As variáveis em nível de módulo são declaradas na parte superior dos módulos de código com a instrução Dim.

teste variavel double nivel modulo

Essas variáveis podem ser usadas com qualquer procedimento nesse módulo de código.

Nível Global

As variáveis de nível global também são declaradas na parte superior dos módulos de código. Entretanto, em vez de usar a instrução Dim, use a instrução Public para indicar que a variável Double está disponível para ser usada em todo o seu projeto VBA.

Public DblA as Double

teste variavel double nivel global

Se você declarasse a variável double em um nível de módulo e depois tentasse usá-la em um módulo diferente, ocorreria um erro.

erro variavel double

Entretanto, se você tivesse usado a palavra-chave Public para declarar a variável double, o erro não ocorreria e o procedimento seria executado perfeitamente.

Formatar Double Armazenada como String

Pode haver um momento em que você deseje formatar um tipo de dados double em uma cadeia de caracteres – por exemplo, você pode querer exibir um símbolo de moeda e arredondar o número para duas casas decimais.

Para isso, use a função Format.

O procedimento a seguir

Sub TesteDoubleParaMoedaTexto()
'declarar a variável string
Dim strMoeda As String
'declarar a double e preencher o valor
Dim dblValor As Double
dblValor = 44055.256
'converter a double em uma cadeia de caracteres com um símbolo de moeda com 2 casas decimais
strMoeda = Format(dblValor , "R$#,##0.00")
'visualizar o resultado
MsgBox strMoeda
End Sub

retornaria esse resultado:

double resultado moeda

Da mesma forma, talvez você queira exibir um número como um número de telefone formatado.

Esse procedimento:

Sub TesteDoubleParaTelefone()
'declarar a variável string
Dim strFone As String
'declarar a double e preencher o valor
Dim dblValor As Double
dblValor = 555968541
'converter a double em uma string no formato de número de telefone
strFone = Format(dblValor, "(000)-000 0000")
'visualizar o resultado
MsgBox strFone
End Sub

retornaria este resultado:

vba double string phone

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA