Come correggere l'errore richiesto dall'oggetto vba?

Quando VBA non è in grado di riconoscere l’oggetto per il quale si fa riferimento alla proprietà o al metodo, viene visualizzato l’errore Oggetto richiesto. In parole semplici, se ti riferisci a un oggetto, ma il nome di quell’oggetto non è corretto (quell’oggetto non è nella gerarchia degli oggetti di VBA), mostra l’errore 424, come segue.

vba-object-required-error

Nel codice sopra, come puoi vedere, ho scritto male l’oggetto cella attiva e quando VBA esegue questa riga di codice, questo oggetto non può essere utilizzato perché non c’è nessun oggetto con questo nome (poiché l’ho scritto male).

Nota : se hai utilizzato l’istruzione Option Explicit nel modulo, riceverai un errore diverso (vedi immagine sotto).

Utilizzando la parola chiave “Set” per una variabile non oggetto

Quando si utilizza una variabile per assegnarle un oggetto, è necessario utilizzare la parola chiave “Set”. Nell’esempio seguente, hai myWKS per il foglio di lavoro e iVal per il valore nella cella A1.

Come puoi vedere, nel codice sopra hai delle variabili, una delle quali è dichiarata come oggetto del foglio di lavoro e la seconda come una stringa. Ma al momento dell’assegnazione del valore abbiamo utilizzato la parola chiave “Set” sulla variabile “iVal” che non è dichiarata come oggetto ma come stringa.

Come correggere l’oggetto richiesto (errore 424) in VBA

  1. Vai al menu Debug del tuo editor Visual Basic.
  2. Utilizzare il passaggio per eseguire l’intero codice passo dopo passo.
  3. Nel momento in cui raggiungi la riga in cui hai un errore, VBA ti mostrerà un errore.
  4. Correggi questa riga di codice.

L’altro modo potrebbe essere quello di leggere il codice riga per riga per assicurarsi di fare riferimento agli oggetti giusti e di utilizzare il nome corretto di variabili e oggetti.

È inoltre possibile utilizzare l’istruzione GOTO per superare un errore o visualizzare un messaggio agli utenti dopo che si è verificato un errore.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *