Nome ambíguo detectado
O identificador está em conflito com outro identificador ou exige qualificação. Esse erro tem as seguintes causas e soluções:
Mais de um objeto no mesmo escopo pode ter elementos com o mesmo nome.
Qualifique o nome do elemento incluindo o nome do objeto e um ponto. Por exemplo:
object.property
Os identificadores no nível do módulo e os identificadores no nível do projeto (nomes de módulos e nomes de projetos referenciados) podem ser reutilizados em um procedimento, embora seja mais difícil manter e depurar os programas. No entanto, se desejar fazer referência aos dois itens no mesmo procedimento, o item com maior escopo deve ser qualificado. Por exemplo, se
MyID
for declarada ao nível do módulo deMyModule
e, em seguida, for declarada uma variável ao nível do procedimento com o mesmo nome no módulo, as referências à variável ao nível do módulo têm de ser devidamente qualificadas:Dim MyID As String Sub MySub MyModule.MyID = "This is module-level variable" Dim MyID As String MyID = "This is the procedure-level variable" Debug.Print MyID Debug.Print MyModule.MyID End Sub
Um identificador declarado no nível do módulo está em conflito com um nome de procedimento. Por exemplo, esse erro ocorre se a variável
MyID
for declarada no nível de módulo e, em seguida, for definido um procedimento com o mesmo nome:Public MyID Sub MyID '. . . End Sub
Neste caso, você deverá alterar um dos nomes porque a qualificação com um nome de módulo comum não resolveria a ambiguidade. Os nomes de procedimento são Public por padrão, mas nomes de variável são Private, a menos que especificados como Public.
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.