Error de objeto requerido en Excel VBA - Solución de problemas

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.

<>

# 3 Módulos a nivel de hoja de trabajo

¿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:

1 MsgBox Range ("Fecha"). Valor

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:

1 MsgBox Sheets ("Sheet2"). Range ("Date"). Value

De lo contrario, encontrará un error:

<>

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave