Objekt påkrævet fejl i Excel VBA - fejlfinding

Objekt påkrævet Fejloversigt

Denne vejledning hjælper dig med at fejlfinde objekt påkrævede fejl i VBA.

<

<

Oversigt over objekter

I VBA er et objekt en "ting" som et regneark, en projektmappe, et område, en form, en række, en kolonne, en brugerform, en kontrol osv.

Objekter har egenskaber (exs: navn, farve, skjult) og metoder (exs: open, clear, save, hide). Hvis du forsøger at anvende en ejendom eller metode, har VBA brug for et gyldigt objekt til at anvende egenskaberne eller metoderne.

Hvis du ikke angiver et gyldigt objekt, modtager du Objekt påkrævet fejl.

Denne vejledning hjælper dig med at fejlfinde objekt påkrævede fejl.

#1. Mulighed Eksplicitte / stavede variabelnavne

Kontroller først, om du har stavet objektnavnet forkert. Et forkert stavet navn kan forårsage objektet påkrævet fejl.

Dette kan ske med eksisterende objektnavne:

<>

Eller med variabelnavne:

<>

En god måde at forhindre navne i stavefejl på er at sørge for at deklarere Option Explicit øverst i dit kodemodul.

1 Mulighed eksplicit

Option Explicit tvinger dig til at deklarere dine variabler. Når du nu fejler <> din kode, modtager du en besked om, at du skal definere din variabel:

<>

Dette skal hjælpe dig med at forstå, at variablen er stavet forkert.

VBA -programmering | Kodegenerator virker for dig!

#2 Variable Opgaver

Sørg derefter for, at du har tildelt dine variabler korrekt.

Objektvariabler skal tildeles ved hjælp af Set Object =: <>

<>

Hvis du ikke bruger Set til objektvariabeltildelinger, får du fejlen Objekt påkrævet.

<>

På samme måde bør ikke-objektvariabler tildeles uden sæt:

<>

Hvis du forsøger at bruge Set på en variabel, der ikke er objekt, får du fejlen Objekt påkrævet.

<>

#3 Moduler på regneark-niveau

Er din kode i et modul på regneark-niveau? I så fald skal du være ekstra forsigtig, når du henviser til navngivne områder på andre regneark.

For eksempel kan du have et projektmappe-navn med navnet "Dato", i et almindeligt kodemodul kan du referere til det navngivne område således:

1 MsgBox -område ("dato"). Værdi

Men hvis du refererer til det navngivne område inden for et modul på regnearksniveau, skal du eksplicit definere det regneark, hvor det navngivne område er placeret:

1 MsgBox Sheets ("Sheet2"). Område ("Date"). Værdi

Ellers støder du på en fejl:

<>

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave