Errore di overFlow VBA

Errore di overFlow VBA di Excel

Gli errori sono parte integrante di qualsiasi linguaggio di programmazione, ma scoprire perché si sta verificando quell'errore è ciò che ti distingue dalla massa nelle interviste. Gli errori non sono strani per la codifica VBA, gli errori non sono intenzionali, quindi trovare la causa dell'errore rende il compito difficile. In VBA abbiamo alcuni degli errori predefiniti e conoscerli ti fa correggere il bug molto rapidamente. In questo articolo, ti mostreremo il RUN TIME ERROR 6: OverFlow. Segui l'articolo completo per conoscere l'errore, i motivi dell'errore di overflow VBA e come risolverli.

Che cos'è l'errore di runtime 6: errore di overflow in VBA?

Quando dichiariamo la variabile, assegniamo loro un tipo di dati. Dovremmo essere completamente consapevoli dei pro e dei contro di ogni tipo di dati. Qui entra in gioco l'errore 6: OverFlow. Quando sovraccarichiamo il tipo di dati con il valore che è maggiore della capacità del tipo di dati, otterremo questo errore.

Ad esempio: se dichiari la variabile come Byte.

Dim Number As Byte

Il tipo di dati byte può contenere valori da 0 a 255. Ora assegnerò il valore a 240.

Numero = 240

Questo dovrebbe funzionare bene perché il valore che abbiamo assegnato è inferiore al limite del valore di Byte di 255. Nel momento in cui assegniamo il valore che è maggiore di 255, porta all'errore di Run Time Error 6: OverFlow.

Questa è la panoramica generale del Run Time Error 6: OverFlow. Vedremo in dettaglio alcuni degli esempi.

Esempi di errore 6 in fase di esecuzione: OverFlow in VBA

Vediamo alcuni esempi di errore di overflow di VBA in Excel.

Esempio 1: errore di overflow con tipo di dati byte

Come ho detto, è importante conoscere i pro ei contro del tipo di dati VBA che utilizzeremo. Per un esempio, guarda il codice seguente.

Codice:

 Sub OverFlowError_Example1 () Dim Number As Byte Number = 256 MsgBox Number End Sub 

Per la variabile "Numero" ho assegnato il valore 256. Quando eseguo questo codice otterremo l'errore seguente.

Questo perché il tipo di dati Byte può contenere valori da 0 a 255. Quindi provoca un errore. Per correggere l'errore o dobbiamo cambiare il tipo di dati oppure dobbiamo ridurre il valore che abbiamo assegnato alla variabile “Numero”.

Esempio 2: errore di overflow VBA con tipo di dati intero

Il numero intero VBA è un tipo di dati che può contenere valori da -32768 a 32767. Per un esempio, guarda il codice seguente.

Codice:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 25656 MsgBox MyValue End Sub 

Quando eseguo questo codice, otterremo il valore della variabile "MyValue" nella finestra di messaggio, ovvero 25656.

Ora riassegnerò il numero alla variabile come "45654".

Codice:

 Sub OverFlowError_Example2 () Dim MyValue As Integer MyValue = 45654 MsgBox MyValue End Sub 

Ora se provo a eseguire il codice causerà un errore perché il tipo di dati che abbiamo dichiarato può contenere solo il massimo di 32767 per i numeri positivi e per i numeri negativi il limite è -32768.

Esempio 3: errore di overflow VBA con tipo di dati lungo

Il tipo di dati lungo è il tipo di dati più utilizzato in Excel VBA. Può contenere valori da –2.147.483.648 a 2.147.486.647. Qualunque cosa sopra causerà un errore.

Codice:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = 5000 * 457 MsgBox MyValue End Sub 

Ciò causerà un errore di overflow.

Per risolvere questo problema dobbiamo utilizzare la funzione CLNG in VBA. Di seguito è riportato un esempio dello stesso.

Codice:

 Sub OverFlowError_Example3 () Dim MyValue As Long MyValue = CLng (5000) * 457 MsgBox MyValue End Sub 

Questo dovrebbe funzionare bene.

Questa è la panoramica del Run Time Error 6: OverFlow . Per risolvere questo errore dobbiamo essere completamente consapevoli dei tipi di dati. Quindi torna alle basi, fai le basi subito, poi tutto andrà a posto.

È possibile scaricare questo modello Excel di errore di overflow VBA qui - Modello Excel di errore di overflow VBA