Em VBA (Visual Basic for Applications), é possível declarar constantes usando a palavra-chave "Const". As constantes são valores que não mudam durante a execução do programa e são úteis para armazenar valores que podem ser usados em várias partes do código sem a necessidade de repetir o valor em cada ocorrência.
Para declarar uma constante em VBA do Excel, siga estas etapas:
- Abra o Microsoft Excel.
- Pressione ALT + F11 para abrir o Editor do Visual Basic (VBE).
- No VBE, clique com o botão direito do mouse na janela "Projeto - VBAProject" no painel à esquerda.
- Escolha "Inserir" e, em seguida, "Módulo" para adicionar um novo módulo ao projeto.
- No módulo criado, você pode declarar suas constantes usando a seguinte sintaxe:
Option Explicit ' Essa linha é opcional, mas recomendada, para obrigar a declaração explícita de todas as variáveis.
' Declaração de Constantes
Const NOME_CONSTANTE As TipoDeDado = Valor
' Exemplo:
Const PI As Double = 3.14159
Const TAXA_DE_DESCONTO As Single = 0.1
Const MEU_NOME As String = "Seu Nome"
Substitua "NOME_CONSTANTE" pelo nome da sua constante, "TipoDeDado" pelo tipo de dados que você deseja usar (por exemplo, Integer, Double, String, Boolean) e "Valor" pelo valor que você deseja atribuir à constante.
Após declarar as constantes no VBA, elas poderão ser usadas em todo o módulo ou em outros módulos dentro do projeto. É importante notar que, como as constantes são valores fixos, não será possível alterar seu valor durante a execução do código. Se você precisar de valores mutáveis, deve usar variáveis em vez de constantes. Mais exemplos para declarar constantes VBA.
Exemplos de variáveis constantes do VBA
Const pi como duplo = 3,14
Const rad como duplo = 6371
Sub-Terra()
sArea = 4 * pi * Sqr(rad)
Debug.Print sArea
End Sub
Sub Marte()
rad = 3389,5
sArea = 4 * pi * Sqr(rad)
Debug.Print sArea
End Sub
Aqui, definimos duas constantes, pi e o rad. O valor do pi é 3,14 e rad é 6371, que é o raio da Terra.
Agora, quando executamos o primeiro sub da Terra, ele funciona perfeitamente bem e imprime a área da superfície da Terra.
No próximo sub-Marte, redefinimos a constante rad, pois o raio de Marte é diferente. Quando executamos este programa, ele lança um erro dizendo: " A atribuição de constante não é permitida ".
Como reinicializar uma constante no VBA
Como você viu no exemplo acima, não podemos atribuir novos valores a uma constante. Sim, você não pode.
Mas se você ainda precisar usar o mesmo nome como um valor fixo diferente, basta usar a palavra-chave Const antes da atribuição.
O código abaixo funcionará perfeitamente.
Const pi como duplo = 3,14 Const rad como duplo = 6371 Sub-Terra() sArea = 4 * pi * Sqr(rad) Debug.Print sArea End Sub Sub Marte() rad constante = 3389,5 sArea = 4 * pi * Sqr(rad) Debug.Print sArea End Sub
A sub-rotina acima funcionará perfeitamente sem erros. Mas eu não recomendo essa abordagem. A melhor maneira é identificar as constantes públicas e privadas e defini-las separadamente.