Share via


Declaração duplicada no escopo atual

O nome especificado já é usado nesse nível de escopo. Por exemplo, duas variáveis podem ter o mesmo nome se forem definidas em procedimentos diferentes, mas não se forem definidas no mesmo procedimento. Esse erro tem as seguintes causas e soluções:

  • Uma nova variável ou procedimento tem o mesmo nome de uma variável ou procedimento existente. Por exemplo:

      Sub MySub() 
      Dim A As Integer 
      Dim A As Variant 
      . . .        ' Other declarations or procedure code here. 
      End Sub
    

    Verifique o procedimento, o módulo ou o projeto atuais e remova quaisquer declarações duplicadas.

  • Uma instrução Const usa o mesmo nome de uma variável ou procedimento existente. Remova ou renomeie a constante em questão.

  • Você declarou uma matriz fixa mais de uma vez.

    Remova ou renomeie uma das matrizes.

Pesquise o nome duplicado. Ao especificar o nome a ser pesquisado, omita qualquer caractere de declaração de tipo porque ocorre um conflito se os nomes forem os mesmos e os caracteres de declaração de tipo forem diferentes.

Observe que uma variável no nível do módulo pode ter o mesmo nome de uma variável declarada em um procedimento, mas quando você deseja se referir à variável no nível do módulo dentro do procedimento, você deve qualificá-la com o nome do módulo. Os nomes dos módulos e os nomes dos projetos referenciados podem ser reutilizados como nomes de variáveis nos procedimentos e também podem ser qualificados.

Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.