Prehľad chýb vyžadovaných objektom
Tento tutoriál vám pomôže pri odstraňovaní chýb vyžadovaných objektom vo VBA.
<
<
Prehľad objektov
Vo VBA je objekt „vec“ ako pracovný list, zošit, rozsah, tvar, riadok, stĺpček, užívateľský formulár, ovládací prvok atď.
Objekty majú vlastnosti (exs: názov, farba, skryté) a metódy (exs: otvorené, vymazať, uložiť, skryť). Ak sa pokúsite použiť vlastnosť alebo metódu, VBA potrebuje platný objekt, na ktorý by mohol vlastnosti alebo metódy použiť.
Ak neposkytnete platný Objekt, dostanete Objektom vyžadovaná chyba.
Táto príručka vám pomôže pri odstraňovaní chýb vyžadovaných objektom.
#1. Voľba Explicitné / Nesprávne napísané názvy premenných
Najprv skontrolujte, či ste nesprávne zadali názov objektu. Nesprávne napísaný názov môže spôsobiť chybu vyžadovanú objektom.
To sa môže stať s existujúcimi názvami objektov:
<>
Alebo s názvami premenných:
<>
Jeden dobrý spôsob, ako zabrániť chybne napísaným menám premenných, je zaistiť deklaráciu Option Explicit v hornej časti modulu kódu.
1 | Možnosť explicitná |
Možnosť Explicitná vás núti deklarovať premenné. Teraz, keď ladíte <> svoj kód, dostanete správu, že musíte definovať svoju premennú:
<>
To by vám malo pomôcť zistiť, či je v premennej nesprávne napísaná.
Programovanie VBA | Generátor kódu pracuje za vás!
#2 Variabilné priradenia
Ďalej sa uistite, že ste premenné priradili správne.
Objektové premenné je potrebné priradiť pomocou Set Object =: <>
< Ak nepoužívate Set na priradenie premenných objektov, zobrazí sa chyba Object Required. <> Podobne by mali byť bez sady priradené aj neobjektové premenné: <> Ak sa pokúsite použiť Set na neobjektovej premennej, zobrazí sa chyba Object Required. <> Je váš kód v module na úrovni pracovného hárka? Ak je to tak, budete musieť byť obzvlášť opatrní pri odkazovaní na pomenované rozsahy v iných pracovných listoch. Môžete mať napríklad zošit s názvom rozsah „Dátum“, v bežnom module kódu môžete na pomenovaný rozsah odkazovať takto: Ak však odkazujete na pomenovaný rozsah v rámci modulu na úrovni pracovného hárka, musíte explicitne definovať pracovný hárok, kde sa nachádza pomenovaný rozsah: V opačnom prípade sa zobrazí chyba: <>>
#3 Moduly na úrovni pracovného hárka
1 Hodnota rozsahu MsgBox („dátum“)
1 Tabuľky MsgBox („List2“). Hodnota („Dátum“). Hodnota