Come correggere l'errore vba 13?
Una mancata corrispondenza del tipo (errore 13) si verifica quando si tenta di specificare un valore in una variabile che non corrisponde al tipo di dati. In VBA, quando dichiari una variabile, devi impostarne il tipo di dati e quando specifichi un valore diverso da quel tipo di dati, ottieni il tipo di errore di mancata corrispondenza 13.
In questo tutorial vedremo quali sono le possibili situazioni in cui può verificarsi l’errore di runtime 13 durante l’esecuzione di un codice.
Errore di mancata corrispondenza del tipo di data
In VBA esiste un tipo di dati specifico per gestire le date e talvolta ciò accade quando si utilizza una variabile per memorizzare una data e il valore specificato è diverso.
Nel codice seguente ho dichiarato una variabile come data e quindi ho specificato il valore della cella A1 dove dovrei avere solo una data. Ma come puoi vedere, la data che ho nella cella 1 non è nel formato corretto, VBA non è in grado di identificarla come data.
Sub myMacro() Dim iVal As Date iVal = Range("A1").Value End Sub
Digita l’errore di mancata corrispondenza con il numero
Riceverai lo stesso errore quando hai a che fare con numeri in cui ottieni un valore diverso quando provi a specificare un numero in una variabile.
Nell’esempio seguente, è presente un errore nella cella A1 che dovrebbe essere un valore numerico. Pertanto, quando esegui il codice, VBA mostra l’errore di runtime 13 perché non può identificare il valore come numero.
Sub myMacro() Dim iNum As Long iNum = Range("A6").Value End Sub
Errore di runtime 6 Overflow
In VBA esistono diversi tipi di dati per gestire i numeri e ciascuno di questi tipi di dati ha un intervallo di numeri che è possibile assegnargli. Ma si verifica un problema quando si specifica un numero che non rientra nell’intervallo del tipo di dati.
In questo caso, ti mostreremo l’errore di runtime 6 overflow che indica che devi modificare il tipo di dati e il numero specificato è fuori intervallo.
Altre situazioni in cui ciò può accadere
Potrebbero esserci altre situazioni in cui potresti riscontrare l’errore di runtime 14: tipo non corrispondente.
- Quando assegni un intervallo a una tabella ma tale intervallo è costituito da una sola cella.
- Quando definisci una variabile come oggetto, ma quando scrivi il codice stai specificando un oggetto diverso da quella variabile.
- Quando specifichi una variabile come foglio di lavoro ma utilizzi la raccolta di fogli nel codice o viceversa.
Come risolvere la mancata corrispondenza del tipo (errore 13)
Il modo migliore per gestire questo errore è accedere all’istruzione per eseguire una riga di codice specifica o visualizzare una finestra di messaggio all’utente quando si verifica l’errore. Ma puoi anche controllare il terreno passo dopo passo prima di percorrerlo. Per questo, è necessario utilizzare lo strumento di debug VBA oppure è possibile utilizzare anche il tasto di scelta rapida F8.
Tutorial correlati
- Gestione degli errori VBA
- Errore di automazione VBA (errore 440)
- Chiamata di procedura VBA o errore di argomento non valido (errore 5)
- L’oggetto VBA non supporta questa proprietà o errore del metodo (errore 438)
- Errore richiesto oggetto VBA (errore 424)