VBA Double

Tipo di dati doppio VBA di Excel

VBA Double è un tipo di tipo di dati che assegniamo per dichiarare le variabili, che è una versione migliorata o più lunga della variabile del tipo di dati "Single" e di solito viene utilizzata per memorizzare cifre decimali più lunghe.

Il tipo di dati VBA Integer converte sempre i valori decimali nel valore intero più vicino, il singolo tipo di dati può mostrare fino a due cifre di posizioni decimali. D'altra parte, il tipo di dati "Doppio" può memorizzare valori da -1,79769313486231E308 a -4,94065645841247E324 per i valori negativi e per i numeri positivi può memorizzare valori da 4,94065645841247E-324 a 1,79769313486232E308 .

Ancora più importante, consuma 8 byte di memoria.

Esempi per utilizzare il tipo di dati doppio VBA

Puoi scaricare questo modello VBA Double Excel qui - Modello VBA Double Excel

Esempio 1

Prima di vedere l'esempio del tipo di dati "Double", esaminiamo i codici di esempio del tipo di dati "Integer" e "Single" in VBA. Guarda il codice VBA sottostante.

Codice:

 Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub 

Ho dichiarato la variabile "k" come Integer e per questa variabile ho assegnato il valore come 2.569999947164.

Eseguiamo questo codice manualmente o utilizzando il tasto di scelta rapida Excel F5, per vedere il valore finale nella finestra del messaggio in VBA.

Il risultato viene visualizzato come 3 invece del numero fornito di 2.569999947164. Il motivo perché VBA ha convertito il numero nel valore intero più vicino, ad esempio 3.

Quando il valore decimale è maggiore di 0,5, verrà convertito nel valore intero successivo e quando il valore decimale è inferiore a 0,51 verrà convertito in un valore intero inferiore.

Ora cambierò il tipo di dati da Integer a Single.

Codice:

 Sub Integer_Ex () Dim k As Single k = 2.569999947164 MsgBox k End Sub 

Esegui il codice tramite il tasto di scelta rapida F5 e guarda quale numero otteniamo questa volta.

Questa volta abbiamo ottenuto il risultato come 2,57, quindi questa volta abbiamo ottenuto due cifre decimali. Il valore originale che abbiamo assegnato era 2,569999947164, quindi in questo caso, terzo, il valore decimale inserito è 9, quindi poiché questo è più di 5 ha convertito il secondo valore decimale 6 in 7.

Ora cambia il tipo di dati da Single a Double.

Codice:

 Sub Integer_Ex () Dim k As Double k = 2.569999947164 MsgBox k End Sub 

Ora esegui il codice manualmente e guarda quante cifre otteniamo nel risultato della finestra di messaggio.

Questa volta ha ottenuto tutti i valori decimali. Possiamo fornire fino a 14 cifre di cifre decimali in Tipo di dati doppio.

Se fornisci un valore maggiore di 14, la posizione decimale verrà convertita nel valore più vicino. Per un esempio guarda l'immagine qui sotto.

Ho digitato 15 cifre decimali invece di 14, se premo il tasto Invio tornerà solo a 14 cifre.

Invece di 59 (ultime due cifre), abbiamo ottenuto 6, ovvero poiché l'ultima cifra è 9, che è maggiore di 5, il numero precedente 5 viene convertito nel valore intero successivo, ovvero 6

Esempio n. 2

Ora mostrerò come lavorare con il riferimento di cella in un foglio di lavoro. Di seguito sono riportati i numeri che ho inserito nel foglio di lavoro.

Iniziamo a catturare gli stessi valori utilizzando il tipo di dati INTEGER , il tipo di dati SINGLE e il tipo DOUBLE .

Di seguito è riportato il codice per mantenere i valori dalla colonna A alla B utilizzando il tipo di dati INTEGER.

Codice:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Integer Per k = da 1 a 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Eseguiamo il codice tramite il tasto di scelta rapida F5, per vedere quali valori otteniamo nella colonna B.

Quando abbiamo usato Integer come tipo di dati abbiamo ottenuto tutti i numeri interi, cioè senza decimali.

Ora cambierò solo il tipo di dati vba di una variabile da intero a singolo.

Codice:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Single For k = da 1 a 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Questo codice darà il risultato seguente.

Questa volta abbiamo solo due cifre decimali.

Ora cambia il tipo di dati da singolo a doppio.

Codice:

 Sub Double_Ex () Dim k As Integer Dim CellValue As Double For k = da 1 a 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Ciò restituirà il risultato seguente.

Abbiamo i valori esatti dalla colonna A.

Cose da ricordare

  • Double è un tipo di dati migliorato del tipo di dati Single.
  • Può contenere fino a 14 cifre decimali.
  • Consuma 8 byte di memoria di sistema.