Napaka zahtevanega predmeta v Excelu VBA - Odpravljanje težav

Object Required Error Pregled

Ta vadnica vam bo pomagala odpraviti napake, ki jih zahteva objekt v VBA.

<

<

Pregled objektov

V VBA je objekt "stvar", kot je delovni list, delovni zvezek, obseg, oblika, vrstica, stolpec, uporabniška oblika, nadzor itd.

Predmeti imajo lastnosti (npr. Ime, barva, skrito) in metode (npr. Odpiranje, brisanje, shranjevanje, skrivanje). Če poskušate uporabiti lastnost ali metodo, potrebuje VBA veljaven objekt, na katerem bo uporabil lastnosti ali metode.

Če ne predložite veljavnega predmeta, ga prejmete Napaka zahtevanega predmeta.

Ta priročnik vam bo pomagal odpraviti napake, ki jih zahteva objekt.

#1. Možnost Eksplicitna / napačno črkovana imena spremenljivk

Najprej preverite, ali ste ime predmeta napačno napisali. Napačno napisano ime lahko povzroči Object Required Error.

To se lahko zgodi z obstoječimi imeni objektov:

<>

Ali z imeni spremenljivk:

<>

Eden od dobrih načinov za preprečevanje napačno črkovanih imen spremenljivk je, da na vrhu kode modula deklarirate možnost Explicit.

1 Možnost izrecno

Opcija Explicit vas prisili, da deklarirate svoje spremenljivke. Ko odpravite napako <> svoje kode, boste prejeli sporočilo, da morate definirati spremenljivko:

<>

To vam bo pomagalo ugotoviti, da je spremenljivka napačno napisana.

Programiranje VBA | Generator kod deluje za vas!

#2 Dodelitve spremenljivk

Nato se prepričajte, da ste spremenljivke pravilno dodelili.

Spremenljivke objekta je treba dodeliti z uporabo Set Object =: <>

<>

Če za nastavitve spremenljivk objektov ne uporabite nastavitve, boste prejeli napako Object Required.

<>

Podobno je treba nespremenljivkam, ki niso predmet, dodeliti brez nastavitve:

<>

Če poskusite uporabiti Set za spremenljivko, ki ni predmet, boste prejeli napako Object Required.

<>

#3 Moduli na ravni delovnega lista

Ali je vaša koda v modulu na ravni delovnega lista? Če je tako, boste morali biti še posebej previdni pri sklicevanju na imenovane obsege na drugih delovnih listih.

Morda imate na primer imenovan obseg na ravni delovnega zvezka »Datum«, v običajnem kodnem modulu se lahko na omenjeni obseg sklicujete takole:

1 Vrednost MsgBox Range ("Date")

Če pa se na imenovani obseg sklicujete znotraj modula na ravni delovnega lista, morate izrecno določiti delovni list, kjer se nahaja imenovani obseg:

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

V nasprotnem primeru pride do napake:

<>

Vam bo pomagal razvoj spletnega mesta, ki si delijo stran s svojimi prijatelji

wave wave wave wave wave