Uso inválido de nova palavra-chave
A nova palavra-chave só pode ser aplicada a um objeto creatável (uma instância de uma classe ou objeto automation). Esse erro tem as seguintes causas e soluções:
Você tentou instanciar algo que pode ter apenas uma instância. Por exemplo, você tentou criar uma nova instância de um módulo especificando
Module1
em uma instrução como a seguinte:Dim MyMod As New Module1
Você não pode criar a nova instância, pois um módulo pode ter apenas uma instância.
Você tentou instanciar um objeto Automation, mas não era um objeto creatável. Por exemplo, você tentou criar uma nova instância de uma caixa de listagem especificando ListBox em uma instrução como a seguinte:
' Valid syntax to create the variable. Dim MyListBox As ListBox Dim MyFormInst As Form ' Invalid syntax to instantiate the object. Set MyFormInst = New Form Set MyListBox = New ListBox
ListBox e Form são nomes de classe, não nomes de objeto específicos. Use-os para especificar que uma variável será uma referência a um determinado tipo de objeto, como com as instruções Dim válidas acima. Mas você não pode usá-los para instanciar os objetos em uma instrução Set . Você deve especificar um objeto específico, em vez do nome da classe genérica, na instrução Definir :
' Valid syntax to create new instance of a form or list box.
Set MyFormInst = New Form1
Set MyListBox = New List1
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.