Compartir a través de


Uso no válido de la palabra clave New

La palabra clave New solo se puede aplicar a un objeto que se puede crear (una instancia de una clase u objeto de automatización). Este error tiene las siguientes causas y soluciones:

  • Ha intentado crear instancias de algo que solo puede tener una instancia. Por ejemplo, ha intentado crear una nueva instancia de un módulo especificando Module1 en una instrucción como la siguiente:

      Dim MyMod As New Module1 
    

    No puede crear la nueva instancia puesto que un módulo solo puede tener una instancia.

  • Ha intentado crear una instancia de un objeto de automatización pero no era un objeto que se puede crear. Por ejemplo, intentó crear una nueva instancia de un cuadro de lista especificando ListBox en una instrucción como la siguiente:

        ' 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 y Form son nombres de clase, no nombres de objeto específicos. Úselas para especificar que una variable será una referencia a un tipo de objeto determinado, como sucede con las instrucciones Dim válidas anteriores. Sin embargo, no puede usarlas para crear instancias de los propios objetos en una instrucción Set. Debe especificar un objeto específico, en lugar del nombre de clase genérico, en la instrucción Set:

    ' Valid syntax to create new instance of a form or list box. 
  Set MyFormInst = New Form1 
  Set MyListBox = New List1 

Para más información, seleccione el elemento en cuestión y presione F1 (en Windows) o AYUDA (en Macintosh).

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.