VBA Long (esempio) - Guida passo passo al tipo di dati lungo in Excel VBA

Che cos'è un tipo di dati lungo in VBA?

Long è un tipo di dati in VBA che viene utilizzato per memorizzare i valori numerici, sappiamo che integer contiene anche valori numerici ma Long è diverso dagli interi poiché l'intervallo per la memorizzazione dei dati è molto grande in caso di tipo di dati lungo anche in long tipo di dati possiamo contenere anche valori decimali, questo è un tipo di dati integrato.

"Lungo", come dice il nome, dovrebbe contenere il valore di qualcosa di grande. "Lungo" è un tipo di dati numerico in VBA Excel.

Il tipo di dati lungo in Excel VBA può contenere i valori da 0 a 2, 147, 483, 647 per i numeri positivi e per il numero negativo può contenere da 0 a -2, 147, 483, 648.

Il tipo di dati VBA Long richiede 4 byte di memoria del computer. Questa è la memoria variabile del tipo di dati doppio intero (2 byte) e metà della memoria variabile del tipo di dati doppio (8 byte)

Non ho mai visto uno scenario in cui desidero utilizzare completamente il limite di un tipo di dati VBA Long nella mia breve carriera. Ma ti mostrerò alcuni esempi per capirlo meglio.

Esempi di tipo di dati lungo VBA

Di seguito sono riportati gli esempi del tipo di dati Excel VBA Long.

Esempio lungo VBA n. 1

Non appena dichiari il tipo di dati della variabile come "Lungo", puoi assegnare i valori da -2, 147, 483, 648 a 2, 147, 483, 648.

Ad esempio, dichiarare la variabile come tipo di dati lungo.

Codice:

Sub Long_Example1 () Dim k As Long End Sub

Assegniamo il valore come conteggio totale delle righe del foglio di lavoro.

Per ottenere il conteggio totale delle righe nel foglio di lavoro Excel, il codice è "Righe. Contare"

Codice:

Sub Long_Example1 () Dim k As Long k = Rows.Count End Sub

Ora mostra il valore nella finestra del messaggio.

Codice:

Sub Long_Example1 () Dim k As Long k = Rows.Count MsgBox k End Sub

Esegui questo codice e guarda qual è il conteggio totale delle righe nel foglio di lavoro.

Dice che abbiamo più di 1 milione di righe nel foglio di lavoro.

Ora per una migliore comprensione, cambierò il tipo di dati da LONG a INTEGER.

Codice:

Sub Long_Example1 () Dim k As Integer k = Rows.Count MsgBox k End Sub

Se eseguo il codice VBA, riceverò il messaggio di errore "Overflow".

Il motivo per cui abbiamo ricevuto questo errore in VBA perché il tipo di dati "Integer" può contenere solo i valori da -31768 a 32767. In questo caso, "Rows. Count "restituirà il numero che è maggiore del limite della variabile" integer ".

Assegnare il valore di oltre 1 milione alla variabile che può contenere solo 32767 provoca qui l'errore di overflow.

Esempio lungo VBA n. 2

Trova l'ultima riga usando la variabile lunga

Trovare l'ultima riga utilizzata del foglio di lavoro è la più importante della codifica. Per trovare l'ultima riga utilizzata del foglio di lavoro è necessario dichiarare la variabile. Mentre la dichiarazione della variabile e l'assegnazione di un tipo di dati richiede un po 'di buon senso.

Supponiamo che i dati finiscano a 25000 righe, come mostrato nell'immagine sottostante.

Ora so che l'ultimo numero di riga utilizzato è 25000. Per questo, non abbiamo bisogno del tipo di dati "LONG" perché il tipo di dati "INTEGER" può fornirmi l'ultima riga.

Guarda il codice sottostante per le tue informazioni.

Codice:

Sub Long_Example1 () Dim k As Integer k = Cells (Rows.Count, 1) .End (xlUp) .Row MsgBox k End Sub

Se eseguo questo codice, otterrò l'ultimo numero di riga utilizzato del foglio di lavoro su cui sto lavorando al momento.

Come programmatore, è importante conoscere la dimensione dei dati che avrai in futuro. Perché al momento, i dati potrebbero terminare alla 25000 esima riga, ma se i dati aumentano oltre il limite "Integer", ovvero 32767, si verifica un errore di overflow.

Ad esempio, aumenterò i dati a 32768 esime righe.

Ora, se eseguo di nuovo lo stesso codice, non otterrò il valore. Piuttosto, riceverò l'errore come di seguito.

Ricorda, ho aumentato il limite di appena 1 oltre il limite del valore "Integer", quindi ho ricevuto un errore di overflow.

Quindi è importante conoscere la dimensione dei dati prima di assegnare un tipo di dati alla variabile. È sempre un'opzione migliore dichiarare la variabile come "LUNGA" senza pensare alla dimensione dei dati in futuro.

Alternative alla variabile lunga VBA di Excel

Devi già pensare a cosa succede se vogliamo mantenere il valore più del limite di una variabile lunga. A tal fine, dobbiamo utilizzare diversi tipi di dati, ovvero VBA "String" o "Variant".

Ricorda, nel momento in cui incrocia il numero 2147483647, otterremo un errore di overflow in VBA con il tipo di dati LONG. Per memorizzare più di questo numero, è necessario utilizzare il tipo di dati "String" o "Variant".

Per String

Codice:

Sub Long_Example2 () Dim k As String k = 2147483648 MsgBox k End Sub

Per variante

Codice:

Sub Long_Example2 () Dim k As Variant k = 2147483648 MsgBox k End Sub

Quando eseguiamo i codici sopra, mostrerà il numero menzionato.

Articoli interessanti...