Hacer referencia a una hoja de trabajo con variable de objeto - Consejos de Excel

Tabla de contenido

Joe está tratando de resolver un error en una nueva macro que acaba de escribir.

La línea que asigna NextRow devuelve un error que dice "Variable de objeto o con variable de bloque no establecida".

Las variables de objeto son geniales. En los consejos anteriores en, usaría variables regulares como estas:

OrigName = ActiveSheet.Name Worksheets(OrigName).Copy

Hay una mejor manera. Puede definir una variable para que sea cualquier objeto, como una hoja de trabajo. Esto tiene varias ventajas. Es más corto usar la variable de objeto en lugar de Hojas de trabajo (OrigName). Además, a medida que escribe código, VBA sabrá que la variable es una hoja de trabajo y ofrecerá las propiedades y métodos adecuados después de escribir el punto. Aquí está el nuevo código:

Dim WSO as Worksheet Set WSO = Activesheet WSO.Copy

El truco, sin embargo, es que cuando tienes una variable de objeto, tiene que asignarse con la palabra clave Set. Si no coloca el conjunto en el código, obtendrá la "Variable de objeto o con variable de bloque no establecida", algo poco intuitiva. Joe simplemente necesita preceder su asignación de variable con la palabra Set.

Articulos interesantes...