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.