Como usar a diretiva #If…Then…#Else no VBA?

No VBA (Visual Basic for Applications), a diretiva `#If…Then…#Else` é utilizada para a compilação condicional, permitindo que você inclua ou exclua partes do código com base em determinadas condições de pré-processamento. Isso é útil, por exemplo, para criar código que deve se comportar diferentemente em diferentes ambientes ou versões de software.

Aqui está um exemplo básico de como usar a diretiva `#If…Then…#Else`:

#Const conDemo = True

Sub TesteCondicional()
    #If conDemo Then
        MsgBox "Código para ambiente de demonstração"
    #Else
        MsgBox "Código para ambiente de produção"
    #End If
End Sub

Explicação:

  • `#Const conDemo = True`:
    • Define uma constante de compilação `conDemo` com o valor `True`.
    • Essa constante é usada para controlar qual bloco de código será compilado.
  • `#If conDemo Then … #Else … #End If`:
    • `#If conDemo Then`: Se a constante `conDemo` for `True`, o código dentro desse bloco será incluído na compilação.
    • `#Else`: Se `conDemo` for `False`, o compilador ignorará o bloco anterior e incluirá o código neste bloco.
    • `#End If`: Finaliza a diretiva condicional.

Uso Prático:

  • Definir Constantes Condicionais:
    • Use `#Const` para definir constantes booleanas que controlam a compilação de cada seção de código.
  • Escrever Blocos de Código Condicional:
    • Dentro do procedimento ou função, use `#If…Then…#Else` para determinar qual código será compilado com base nas constantes definidas.
  • Múltiplas Condições:
    • Você também pode usar `#ElseIf` para lidar com várias condições diferentes.

Exemplo com múltiplas condições:

#Const Version1 = False
#Const Version2 = True

Sub TesteMultiplasCondicoes()
    #If Version1 Then
        MsgBox "Código para versão 1"
    #ElseIf Version2 Then
        MsgBox "Código para versão 2"
    #Else
        MsgBox "Código para versões não especificadas"
    #End If
End Sub

Nesse exemplo, diferentes blocos de código são compilados dependendo de qual versão está ativa. Esta prática é útil para manter um único código-fonte que pode ser compilado de diferentes maneiras, dependendo do cenário desejado.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project