VBA – Tipo de Dados Single (Dim Variavel)

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on August 30, 2023

Tipo de Variável Single

O tipo de dados Single do VBA é usado para armazenar números que exigem casas decimais. Ele pode armazenar de -3,4028235E+38 a -1,401298E-45 para valores negativos e de 1,401298E-45 a 3,4028235E+38 para valores positivos.

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

Dim sngA as Single

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

sngA = 3658.25

Colocar isso em um procedimento tem a seguinte aparência

Sub sngExamplo()
'declarar a variável Single
 Dim sngA as Single
'preencher a variável Single
 sngA = 3658.25
'mostrar a caixa de mensagem
 MsgBox sngA
End Sub

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

vba-double-declare

Tipo de Dados Double

O tipo de dados Double é apenas uma versão mais longa do tipo de dados Single. 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ê precisar de mais de 4 casas decimais, poderá usar o tipo de dados Double.

exemplo variavel single

Tipos de Dados Int ou Long

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

Dim intA as Integer
Dim lngB as Long

Declare uma Variável Single em Nível de Módulo ou Global

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

single nivel procedimento

Em vez disso, você pode declarar variáveis Single 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.

single 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 Single está disponível para ser usada em todo o seu projeto VBA.

Public SngA as Single

single nivel global

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

single variavel nao definida

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

Formato de Single Armazenado como String

Pode haver um momento em que você deseje formatar um tipo de dados Single 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 TesteSingleParaMoeda()
'declarar a variável string
Dim strMoeda As String
'declarar a single e preencher o valor
Dim sngValor As Single
sngValor = 44055.256
'converter a single em uma cadeia de caracteres com um símbolo de moeda com 2 casas decimais
strMoeda = Format(sngValor , "$#,##0.00")
'visualizar o resultado
MsgBox strMoeda
End Sub

retornaria esse resultado

vba double to string

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

Esse procedimento

Sub TesteDoubleParaTelefone()
'declarar a variável string
Dim strTelefone As String
'declarar a double e preencher o valor
Dim dblValor As Double 
dblValor = 555968541
'converter a double para string no formato de número de telefone
strTelefone = Format(dblValor , "(000)-000 0000")
'visualizar o resultado
MsgBox strTelefone
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