Como usar a instrução de opção explícita no vba?

Pontos chave

  • A opção Explícita exige que você declare todas as variáveis .
  • Esta é uma declaração que você pode usar no início de um módulo .
  • Você pode inseri-lo manualmente ou habilitá-lo nas opções.
  • Você deve usar Option Explicit apenas uma vez.
  • Também ajuda a identificar erros de digitação ao usar variáveis.

O que é opção explícita do VBA

Option Explicit é uma instrução que você pode usar no início de um módulo para forçá-lo a declarar todas as variáveis. Ao adicionar esta instrução, o VBA mostra um erro de compilação ao executar o código e também destaca a variável no código que você precisa declarar.

opção vba-explícita

Quando você adiciona uma opção explícita no início de um módulo, o VBA adiciona uma linha separadora abaixo dela e então você pode começar a escrever um procedimento. E quando você tem a opção de declaração explícita e executa um procedimento, o VBA verifica se há uma variável não declarada e mostra uma mensagem de erro.

 Option Explicit Sub myMacro() a = 50 MsgBox a End Sub
linha separadora vba-add

Acima está a mensagem que você recebe quando uma variável não é declarada.

Habilitar opção explícita no VBA

Para habilitar a instrução de opção explícita em um módulo, siga estas etapas.

  1. Primeiro, abra o Editor do Visual Basic e no menu Ferramentas, clique em Opções.
    activate-option-explicit-in-vba
  2. Depois disso, nas opções, vá até a aba do editor e marque a caixa “Exigir declaração de variável”.
    editor-tab-and-tick-mark
  3. No final, clique em OK.
  4. Depois de fazer isso, o VBA adicionará uma opção explícita sempre que você adicionar um novo módulo.

Mas ele não adiciona esta declaração ao seu módulo existente, então você deve adicioná-las manualmente a cada um dos módulos existentes, um por um.

Como adicioná-lo manualmente?

Como mencionei, a instrução Option Explicit deve vir antes do procedimento do primeiro módulo (Sub ou Function). Portanto, você precisa adicionar esta declaração acima do primeiro procedimento (área de declarações gerais) e certificar-se de adicioná-la apenas uma vez.

área de declarações gerais

Se você adicioná-lo dentro de um procedimento ou entre dois procedimentos, o VBA mostrará um erro ao tentar executar qualquer um dos códigos do módulo.

vba-mostrará-um-erro

Exemplos (por que usar Option Explicit Statement é um bom hábito)

Deixe-me mostrar um exemplo para que você entenda por que a instrução Option Explicit é altamente recomendada. Observe o código a seguir.

 Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

Neste código, declarei uma variável “myText” como uma string e a seguir defini o valor desta variável. E no final, usei uma caixa de mensagem que exibe o valor da variável, mas se você olhar com atenção, escrevi incorretamente essa variável como “MyTxt” em vez de “myText”.

variável declarada

Agora, quando executo esse código, ele me mostra uma caixa de mensagem vazia.

caixa de mensagem vazia

Preciso de seus 2 minutos para ajudá-lo a entender o verdadeiro problema aqui. Quando digitei o nome da variável errado, o VBA o considera uma variável separada e, como não uso a instrução de opção explícita, isso não mostra um erro.

erro de digitação no nome da variável

É por isso que a caixa de mensagem usa a segunda variável (digitada incorretamente) que não possui nenhum valor atribuído a ela. Agora pense por um segundo; Se você escrever um código longo e não usar instruções de opção explícitas, será difícil rastrear esse erro até reler todo o código.

Mas com a opção de declaração explícita ativada, quando executo esse código, recebo um erro.

opção de uso explícita
 Option Explicit Sub myMacro() Dim myText As String myText = "Puneet" MsgBox MyTxt End Sub

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *