Compartilhar via


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.