Objekt påkrevd feil i Excel VBA - feilsøking

Objekt påkrevd feiloversikt

Denne opplæringen hjelper deg med å feilsøke objektkrevde feil i VBA.

<

<

Oversikt over objekter

I VBA er et objekt en "ting" som et regneark, arbeidsbok, område, form, rad, kolonne, brukerform, kontroll, etc.

Objekter har egenskaper (eks: navn, farge, skjult) og metoder (eks: åpne, slett, lagre, skjul). Hvis du prøver å bruke en eiendom eller metode, trenger VBA et gyldig objekt for å bruke egenskapene eller metodene.

Hvis du ikke oppgir et gyldig objekt, får du Objekt påkrevd feil.

Denne veiledningen hjelper deg med å feilsøke feil på objektet.

#1. Alternativ Eksplisitte / feilstavede variabelnavn

Sjekk først om du har stavet objektnavnet feil. Et feilstavet navn kan forårsake objektet påkrevd feil.

Dette kan skje med eksisterende objektnavn:

<>

Eller med variabelnavn:

<>

En god måte å forhindre navn på feilstavede variabler på er å sørge for at du erklærer Option Explicit øverst i kodemodulen.

1 Alternativ Eksplisitt

Option Explicit tvinger deg til å deklarere variablene dine. Når du feilsøker <> koden din, får du en melding om at du trenger å definere variabelen din:

<>

Dette bør hjelpe deg med å vite at variabelen er feilstavet.

VBA -programmering | Kodegenerator fungerer for deg!

#2 Variable Oppgaver

Deretter må du kontrollere at du har tilordnet variablene dine riktig.

Objektvariabler må tildeles ved å bruke Set Object =: <>

<>

Hvis du ikke bruker Set for objektvariabeltildelinger, får du feilen Object Required.

<>

På samme måte bør ikke-objektvariabler tilordnes uten sett:

<>

Hvis du prøver å bruke Set på en variabel som ikke er objekt, får du feilen Object Required.

<>

#3 Arbeidsark-nivå moduler

Er koden din i et regnearknivå? I så fall må du være ekstra forsiktig når du refererer til navngitte områder i andre regneark.

For eksempel kan du ha et arbeidsbok-nivå med navnet "Dato", i en vanlig kodemodul kan du referere til det navngitte området slik:

1 MsgBox Range ("Dato"). Verdi

Hvis du imidlertid refererer til det navngitte området fra en modul på regnearknivå, må du eksplisitt definere regnearket der det navngitte området er plassert:

1 MsgBox Sheets ("Sheet2"). Område ("Date"). Verdi

Ellers støter du på en feil:

<>

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave