VBA-objekt kreves - Hvordan fikse objektkrevd feil i Excel VBA?

Innholdsfortegnelse

Objekt kreves i Excel VBA

Feil er en del av kodningsspråket, men det virkelige geni ligger i å finne feilen og fikse disse feilene. Det første trinnet i å fikse disse feilene er intelligensen til å finne hvorfor feilene oppstår. Hvis du finner ut hvorfor disse feilene kommer, er det en veldig enkel jobb å fikse disse feilene uten å svette. En slik feil i VBA-koding er "Object Required."

Hvis du husker at mens vi lærte variabler og tilordnet datatyper til disse variablene, har vi også "Objekt" -datatyper. Når objektdatatypen er tildelt, og hvis objektet ikke eksisterer i regnearket eller arbeidsboken vi refererer til å gå, vil vi få VBA-feilmeldingen som "Objekt påkrevd." Så som en ny koder er det vanlig å si panikk i de situasjonene fordi en nybegynner ikke kan finne årsaken til denne feilen på startnivået.

Hvorfor oppstår det obligatorisk objekt? (og … Hvordan fikser jeg det?)

Ok, det tar to eller tre eksempler for å virkelig forstå hvorfor denne feilen oppstår og hvordan du løser den.

Se for eksempel på koden nedenfor.

Kode:

Sub Last_Row () Dim Wb Som 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

La meg forklare deg koden ovenfor for deg.

Jeg har erklært tre variabler, og de to første variablene refererer til "Arbeidsbok" og "Arbeidsark" -objektene. Den tredje variabelen refererer til datatypen "Dato".

Når "Objekt" -datatypene er tilordnet variabelen, må vi bruke ordet "Sett" -tasten for å tilordne referansen til objektet til variabelen, så i de neste to linjene, ved å bruke nøkkelordet "Sett", I har tildelt referansen til "ThisWorkbook" til variabelen "Wb" fordi denne variabelen holder objektdatatypen som "Workbook" og for variabelen "Ws" har jeg tildelt regnearkobjektet til "Data" -arket i denne arbeidsboken.

Sett Wb = ThisWorkbook
Sett Ws = ThisWorkbook.Worksheets ("Data")
  • I neste linje for datatypevariabelen "Date" har jeg også brukt "Set" nøkkelordet for å tilordne verdien av cellen A1-verdien i denne arbeidsboken (Wb) og i regnearket "Data" (Ws).
Sett MyToday = Wb.Ws.Cells (1, 1)
  • I neste linje viser vi verdien av "MyDate" -variabelen for celle A1-verdien i meldingsboksen i VBA.
MsgBox MyToday
  • Ok, la oss kjøre denne koden og se hva vi får som et resultat.

Som du kan se ovenfor, viser den VBA-feilmeldingen som "Objekt påkrevd." Ok, det er på tide å undersøke hvorfor vi får denne feilmeldingen.

  • I feilmeldingsbildet ovenfor i kodeseksjonen, mens det viser feilmeldingen, har det markert feildelen av koden med blå farge.
  • Så spørsmålet er fortsatt hvorfor vi fikk denne feilen. Det første vi trenger å se er denne spesifikke datatypen. Gå tilbake til forrige linje med kode der vi har tilordnet datatypen til variabelen "MyDate."
  • Vi har tilordnet den variable datatypen som "Dato" og kommer nå tilbake til feillinjen nå.

På denne linjen har vi brukt nøkkelordet "Set", mens datatypen vår ikke er "Object" -datatypen. Så i det øyeblikket VBA-koden ser nøkkelordet "Sett", antar det at det er en objektdatatype og sier at det krever en objektreferanse.

Så, bunnlinjen er "Set" nøkkelord brukes til å referere bare til referanse til objektvariablene som regneark, arbeidsbok, etc. …

Eksempel 1

Ta en titt på koden nedenfor.

Kode:

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

I koden ovenfor har vi brukt regnearkfunksjonen "SUM" for å få totalen av celleverdiene fra A1 til A100. Når du kjører denne koden, vil vi støte på feilen nedenfor.

Ups !! Det står, "Run-time error '424': Object Required.

La oss nå se nøye på koden nå.

I stedet for å bruke "Application", har vi feilaktig brukt "Application1", så dette oppsto feilen "Object Required" i VBA-kode.

Hvis ordet “Alternativ eksplisitt” er aktivert, får vi feilen “Variabel ikke definert”.

Ting å huske

  • Objekt påkrevd betyr at referansen til objektdatatypen må være nøyaktig.
  • Når alternativet eksplisitt ord ikke er aktivert i kodingen, får vi Object Required-feil for feilstavede variable ord, og hvis Option Explicit er aktivert, vil vi få variabelen ikke definert feil for feilstavede variable ord.

Interessante artikler...