Objekt krävs fel i Excel VBA - Felsökning

Objekt som krävs Felöversikt

Denna handledning hjälper dig att felsöka objekt som krävs i VBA.

<

<

Objektöversikt

I VBA är ett objekt en "sak" som ett kalkylblad, arbetsbok, intervall, form, rad, kolumn, användarform, kontroll, etc.

Objekt har egenskaper (ex: namn, färg, dold) och metoder (ex: öppna, rensa, spara, göm). Om du försöker tillämpa en egenskap eller metod behöver VBA ett giltigt objekt för att tillämpa egenskaperna eller metoderna.

Om du inte tillhandahåller ett giltigt objekt får du Objekt krävs fel.

Den här guiden hjälper dig att felsöka objekt som krävs fel.

#1. Alternativ Explicit / Felstavat variabelnamn

Kontrollera först om du har stavat objektnamnet fel. Ett felstavat namn kan orsaka objektet Required Error.

Detta kan hända med befintliga objektnamn:

<>

Eller med variabelnamn:

<>

Ett bra sätt att förhindra felstavade variabelnamn är att se till att du förklarar alternativet Explicit högst upp i kodmodulen.

1 Alternativ Explicit

Alternativ Explicit tvingar dig att deklarera dina variabler. När du nu felsöker <> din kod får du ett meddelande om att du behöver definiera din variabel:

<>

Detta bör hjälpa dig att förstå att variabeln är felstavad.

VBA -programmering | Kodgenerator fungerar för dig!

#2 Variabla uppdrag

Se sedan till att du har tilldelat dina variabler korrekt.

Objektvariabler måste tilldelas med Set Object =: <>

<>

Om du inte använder Set för objektvariabeltilldelningar får du objektet Required Object.

<>

På samma sätt bör icke-objektvariabler tilldelas utan Set:

<>

Om du försöker använda Set på en icke-objektvariabel får du objektet Required Object.

<>

#3 Moduler på arbetsbladsnivå

Finns din kod i en modul på arbetsbladsnivå? I så fall måste du vara extra försiktig när du hänvisar till namngivna intervall i andra kalkylblad.

Till exempel kan du ha ett arbetsbok-nivå med namnet "Datum", i en vanlig kodmodul kan du referera till det namngivna intervallet så här:

1 MsgBox Range ("Datum"). Värde

Men om du refererar till det namngivna intervallet från en modul på kalkylbladsnivå måste du uttryckligen definiera det kalkylblad där det namngivna intervallet ligger:

1 MsgBox Sheets ("Sheet2"). Intervall ("Date"). Värde

Annars stöter du på ett fel:

<>

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave