VBA – Tipo de dados Double (Dim Variable)
In this Article
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.
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.
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.
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.
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
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.
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:
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: