Panoramica dell'errore richiesto dall'oggetto
Questo tutorial ti aiuterà a risolvere gli errori richiesti dagli oggetti in VBA.
<
<
Panoramica degli oggetti
In VBA, un oggetto è una "cosa" come un foglio di lavoro, una cartella di lavoro, un intervallo, una forma, una riga, una colonna, un form utente, un controllo, ecc.
Gli oggetti hanno proprietà (es: nome, colore, nascosto) e metodi (es: apri, cancella, salva, nascondi). Se si tenta di applicare una proprietà o un metodo, VBA necessita di un oggetto valido su cui applicare le proprietà oi metodi.
Se non fornisci un Oggetto valido, riceverai il Errore oggetto richiesto.
Questa guida ti aiuterà a risolvere gli errori richiesti dagli oggetti.
#1. Opzione Nomi variabili espliciti/con errori di ortografia
Innanzitutto, controlla se hai sbagliato a scrivere il nome dell'oggetto. Un nome errato può causare l'errore richiesto dall'oggetto.
Questo può accadere con i nomi degli oggetti esistenti:
<>
O con nomi di variabili:
<>
Un buon modo per evitare nomi di variabili errati è assicurarsi di dichiarare Option Explicit nella parte superiore del modulo di codice.
1 | Opzione esplicita |
L'opzione Explicit ti obbliga a dichiarare le tue variabili. Ora quando esegui il debug <> del tuo codice, riceverai un messaggio che ti serve per definire la tua variabile:
<>
Questo dovrebbe aiutarti a capire che quella variabile è errata.
Programmazione VBA | Il generatore di codice funziona per te!
#2 Assegnazioni variabili
Quindi, assicurati di aver assegnato correttamente le tue variabili.
Le variabili oggetto devono essere assegnate utilizzando Set Object = : <>
< Se non utilizzi Set per le assegnazioni di variabili oggetto, riceverai l'errore Object Required (Oggetto richiesto). <> Allo stesso modo, le variabili non oggetto dovrebbero essere assegnate senza Set: <> Se tenti di utilizzare Set su una variabile non oggetto, riceverai l'errore Object Required. <> Il tuo codice è in un modulo a livello di foglio di lavoro? In tal caso, dovrai prestare particolare attenzione quando fai riferimento a intervalli denominati su altri fogli di lavoro. Ad esempio, potresti avere un intervallo denominato "Data" a livello di cartella di lavoro, in un modulo di codice normale, puoi fare riferimento all'intervallo denominato in questo modo: Tuttavia, se si fa riferimento all'intervallo denominato all'interno di un modulo a livello di foglio di lavoro, è necessario definire in modo esplicito il foglio di lavoro in cui si trova l'intervallo denominato: Altrimenti incontrerai un errore: <>>
#3 Moduli a livello di foglio di lavoro
1 MsgBox Range("Date").value
1 MsgBox Sheets("Sheet2").Range("Date").value