VBA Long

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 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 la metà della memoria variabile del tipo di dati doppio (8 byte)

Non ho mai visto uno scenario in cui desidero utilizzare appieno 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.

Puoi scaricare questo modello Excel con tipo di dati lungo VBA qui - Modello Excel con tipo di dati lungo VBA

Esempio lungo VBA n. 1

Non appena si dichiara il tipo di dati della variabile "Long", è possibile 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 codice del foglio di lavoro Excel è necessario "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 "Righe. 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 possono terminare alla 25000esima riga, ma se i dati aumentano oltre il limite "Numero intero", ovvero 32767, si verifica un errore di overflow.

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

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

Ricorda che 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. Per questo, dobbiamo utilizzare diversi tipi di dati, ad esempio VBA "String" o "Variant"

Ricorda nel momento in cui incrocia il numero 2147483647 avremo un errore di overflow in VBA con 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.