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 dentro do mesmo procedimento. Esse erro tem as seguintes causas e soluções:

  • Uma nova variável ou procedimento tem o mesmo nome que 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, módulo ou projeto atual 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.

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

Observe que uma variável de nível de módulo pode ter o mesmo nome que uma variável declarada em um procedimento, mas quando você quiser se referir à variável de nível de módulo dentro do procedimento, deverá 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.