Vyžaduje se objekt VBA - Jak opravit chybu požadovanou objektem v aplikaci Excel VBA?

Objekt vyžadován v aplikaci Excel VBA

Chyby jsou nedílnou součástí kódovacího jazyka, ale skutečná genialita spočívá v hledání chyby a opravě těchto chyb. Prvním krokem při opravě těchto chyb je inteligence zjištění, proč k těmto chybám dochází. Pokud zjistíte, proč tyto chyby přicházejí, je velmi snadné tyto chyby opravit, aniž byste se zapotili. Jedna taková chyba v kódování VBA je „Object Required“.

Pokud si pamatujete, při učení proměnných a přiřazování datových typů k těmto proměnným máme také datové typy „Object“. Když je přiřazen datový typ objektu a pokud tento objekt neexistuje v listu nebo sešitu, na který odkazujeme, zobrazí se chybová zpráva VBA jako „Objekt je vyžadován“. Jako nový kodér je tedy v těchto situacích běžné panikařit, protože na počáteční úrovni nemůže začátečník najít příčinu této chyby.

Proč dochází k chybě požadovaného objektu? (a … jak to opravit?)

Dobře, je potřeba dva nebo tři příklady, abyste skutečně pochopili, proč k této chybě dochází a jak ji opravit.

Podívejte se například na níže uvedený kód.

Kód:

Sub Last_Row () Dim Wb As Workbook Dim Ws As Worksheet Dim MyToday As Date Set Wb = ThisWorkbook Set Ws = ThisWorkbook.Worksheets ("Data") Set MyToday = Wb.Ws.Cells (1, 1) MsgBox MyToday End Sub

Vysvětlím vám výše uvedený kód.

Deklaroval jsem tři proměnné a první dvě proměnné odkazují na objekty „Sešit“ a „Pracovní list“. Třetí proměnná odkazuje na datový typ „Datum“.

Když jsou proměnné přiřazeny datové typy „Objekt“, musíme k přiřazení odkazu na objekt proměnné použít slovo „Nastavit“, takže v následujících dvou řádcích pomocí klíčového slova „Nastavit“ I přidělili odkaz „ThisWorkbook“ na proměnnou „Wb“, protože tato proměnná obsahuje datový typ objektu jako „Workbook“ a pro proměnnou „Ws“ jsem v tomto sešitu přiřadil objekt listu „Data“ listu.

Nastavit Wb = ThisWorkbook
Nastavit Ws = ThisWorkbook.Worksheets ("Data")
  • V dalším řádku pro proměnnou datového typu „Datum“ jsem také použil klíčové slovo „Nastavit“ k přiřazení hodnoty hodnoty buňky A1 v tomto sešitu (Wb) a v listu „Data“ (Ws).
Nastavit MyToday = Wb.Ws.Cells (1, 1)
  • Na dalším řádku zobrazujeme hodnotu proměnné „MyDate“ hodnoty buňky A1 v okně se zprávou ve VBA.
MsgBox MyToday
  • Dobře, pojďme spustit tento kód a uvidíme, co získáme jako výsledek.

Jak vidíte výše, zobrazuje chybovou zprávu VBA jako „Objekt je vyžadován“. Dobře, je čas prozkoumat, proč se nám zobrazuje tato chybová zpráva.

  • Ve výše uvedeném obrázku chybové zprávy v sekci kódu se při zobrazení chybové zprávy zvýraznila modrá část chyby chybová část kódu.
  • Otázkou tedy zůstává, proč jsme dostali tuto chybu. První věc, kterou musíme vidět, je tento konkrétní datový typ proměnné. Vraťte se na předchozí řádek kódu, kde jsme přiřadili datový typ proměnné „MyDate“.
  • Přiřadili jsme proměnný datový typ jako „Datum“ a nyní se nyní vracíme k chybovému řádku.

V tomto řádku jsme použili klíčové slovo „Set“, zatímco náš datový typ není datovým typem „Object“. V okamžiku, kdy kód VBA uvidí klíčové slovo „Set“, předpokládá, že jde o datový typ objektu, a říká, že vyžaduje odkaz na objekt.

Ve spodním řádku je tedy klíčové slovo „Nastavit“, které slouží pouze k odkazování na proměnné objektu, jako je pracovní list, sešit atd.…

Příklad č. 1

Nyní se podívejte na níže uvedený kód.

Kód:

Sub Object_Required_Error () Range ("A101"). Value = Application1.WorksheetFunction.Sum (Range ("A1: A100")) End Sub

Ve výše uvedeném kódu jsme použili funkci listu „SUM“ k získání součtu hodnot buněk od A1 do A100. Když spustíte tento kód, narazíme na níže uvedenou chybu.

Jejda !! Říká: „Chyba běhu„ 424 “: Objekt je vyžadován.

Pojďme se nyní podrobně podívat na kód.

Namísto použití „Aplikace“ jsme omylem použili „Aplikaci1“, takže v kódu VBA došlo k chybě „Požadovaný objekt“.

Pokud je povoleno slovo „Možnost Explicit“, zobrazí se chyba „Proměnná není definována“.

Věci k zapamatování

  • Object Required znamená, že reference na datový typ objektu musí být přesná.
  • Pokud není v kódování povoleno slovo explicitní volba, pak se u chybně napsaných slov proměnných zobrazí chyba vyžadovaná objektem, a pokud je povolena možnost Explicit výslovně, dostaneme proměnnou nedefinovanou chybu u chybně napsaných slov proměnných.

Zajímavé články...