Descripción general del error de objeto requerido
Este tutorial lo ayudará a solucionar problemas de errores requeridos por objetos en VBA.
<
<
Resumen de objetos
En VBA, un objeto es una "cosa" como una hoja de trabajo, libro de trabajo, rango, forma, fila, columna, formulario de usuario, control, etc.
Los objetos tienen propiedades (ej .: nombre, color, oculto) y métodos (ej .: abrir, borrar, guardar, ocultar). Si intenta aplicar una propiedad o método, VBA necesita un objeto válido en el que aplicar las propiedades o métodos.
Si no proporciona un objeto válido, recibirá el Error de objeto requerido.
Esta guía le ayudará a solucionar problemas de errores requeridos por objetos.
# 1. Opción Nombres de variables explícitos / mal escritos
Primero, compruebe si ha escrito mal el nombre del objeto. Un nombre mal escrito puede causar el error de objeto requerido.
Esto puede suceder con nombres de objetos existentes:
<>
O con nombres de variables:
<>
Una buena forma de evitar los nombres de variables mal escritos es asegurarse de declarar Option Explicit en la parte superior de su módulo de código.
1 | Opción explícita |
Option Explicit te obliga a declarar tus variables. Ahora, cuando depure <> su código, recibirá un mensaje que le indicará que debe definir su variable:
<>
Esto debería ayudarte a darte una pista de que esa variable está mal escrita.
Programación VBA | ¡Code Generator funciona para usted!
# 2 asignaciones variables
A continuación, asegúrese de haber asignado sus variables correctamente.
Las variables de objeto deben asignarse mediante Establecer objeto =: <>
< Si no usa Establecer para las asignaciones de variables de objeto, recibirá el error Objeto requerido. <> De manera similar, las variables que no son de objeto deben asignarse sin Set: <> Si intenta utilizar Establecer en una variable que no sea de objeto, recibirá el error Objeto requerido. <> ¿Está su código en un módulo de nivel de hoja de trabajo? Si es así, deberá tener mucho cuidado al referirse a rangos con nombre en otras hojas de trabajo. Por ejemplo, puede tener un rango con nombre de nivel de libro de trabajo "Fecha", en un módulo de código normal, puede hacer referencia al rango con nombre de esta manera: Sin embargo, si hace referencia al rango con nombre desde dentro de un módulo de nivel de hoja de trabajo, debe definir explícitamente la hoja de trabajo donde se encuentra el rango con nombre: De lo contrario, encontrará un error: <>>
# 3 Módulos a nivel de hoja de trabajo
1 MsgBox Range ("Fecha"). Valor
1 MsgBox Sheets ("Sheet2"). Range ("Date"). Value