Excel VBA Double Datentyp
VBA Double ist eine Art Datentyp, den wir zum Deklarieren von Variablen zuweisen. Dies ist eine verbesserte oder längere Version der Datentypvariablen "Single" und wird normalerweise zum Speichern längerer Dezimalstellen verwendet.
Der Datentyp VBA Integer konvertiert immer Dezimalwerte in den nächsten ganzzahligen Wert. Der einzelne Datentyp kann bis zu zwei Dezimalstellen anzeigen. Auf der anderen Seite kann der Datentyp "Double" Werte von -1,779696913136161E308 bis -4,94065645841247E324 für negative Werte und für positive Zahlen Werte von 4,94065645841247E-324 bis 1,79769313486232E308 speichern .
Noch wichtiger ist, dass 8 Byte Speicher belegt werden.

Beispiele für die Verwendung von VBA Double Data Type
Beispiel 1
Bevor wir das Beispiel des Datentyps "Double" sehen, schauen wir uns die Beispielcodes des Datentyps "Integer" und "Single" in VBA an. Schauen Sie sich den folgenden VBA-Code an.
Code:
Sub Integer_Ex () Dim k As Integer k = 2.569999947164 MsgBox k End Sub

Ich habe die Variable "k" als Integer deklariert und für diese Variable den Wert als 2.569999947164 zugewiesen.
Lassen Sie uns diesen Code manuell oder mit der Excel-Tastenkombination F5 ausführen, um den endgültigen Wert im Meldungsfeld in VBA anzuzeigen.

Das Ergebnis wird als 3 anstelle der angegebenen Nummer 2.569999947164 angezeigt. Der Grund dafür ist, dass VBA die Zahl in den nächsten ganzzahligen Wert konvertiert hat, dh 3.
Wenn der Dezimalwert mehr als 0,5 beträgt, wird er in den nächsten ganzzahligen Wert konvertiert. Wenn der Dezimalwert kleiner als 0,51 ist, wird er in einen Wert unter dem ganzzahligen Wert konvertiert.
Jetzt werde ich den Datentyp von Integer in Single ändern.
Code:
Sub Integer_Ex () Dim k As Single k = 2.569999947164 MsgBox k End Sub

Führen Sie den Code über die Tastenkombination F5 aus und sehen Sie, welche Nummer wir diesmal erhalten.

Dieses Mal haben wir das Ergebnis als 2,57 erhalten, also haben wir diesmal zwei Dezimalstellen erhalten. Der ursprüngliche Wert, den wir zugewiesen haben, war 2.569999947164. In diesem Fall ist der platzierte Dezimalwert drittens 9. Da dieser Wert also mehr als 5 beträgt, wurde der zweitwertige Dezimalwert 6 in 7 konvertiert.
Ändern Sie nun den Datentyp von Single in Double.
Code:
Sub Integer_Ex () Dim k As Double k = 2.569999947164 MsgBox k End Sub

Führen Sie nun den Code manuell aus und sehen Sie, wie viele Ziffern im Ergebnis des Meldungsfelds angezeigt werden.

Diesmal wurden alle Dezimalwerte ermittelt. Unter dem Datentyp Double können bis zu 14 Dezimalstellen angegeben werden.
Angenommen, Sie geben einen Wert mit mehr als 14 Dezimalstellen an, der in den nächsten Wert konvertiert wird. Schauen Sie sich zum Beispiel das folgende Bild an.

Ich habe 15 statt 14 Dezimalstellen eingegeben. Wenn ich die Eingabetaste drücke, sind es nur noch 14 Stellen.

Instead of 59 (last two digits), we got 6 i.e., since the last digit is 9, which is greater than 5 previous number 5 is converted to the next integer value i.e., 6
Example #2
Now I will show how to work with cell reference in a worksheet. Below are the numbers I have entered in the worksheet.

Let us initiate capturing the same values to next by using INTEGER data type, SINGLE data type, and DOUBLE type.
Below is the code to retain values from column A to B by using the INTEGER data type.
Code:
Sub Double_Ex() Dim k As Integer Dim CellValue As Integer For k = 1 To 6 CellValue = Cells(k, 1).Value Cells(k, 2).Value = CellValue Next k End Sub

Let’s run the code through shortcut key F5 to see what values we get in column B.

Wenn wir Integer als Datentyp verwendet haben, erhalten wir alle ganzen Zahlen, dh ohne Dezimalstellen.
Jetzt werde ich nur den VBA-Datentyp einer Variablen von Integer in Single ändern.
Code:
Sub Double_Ex () Dim k als Ganzzahl Dim CellValue als Single Für k = 1 bis 6 CellValue = Zellen (k, 1) .Wert Zellen (k, 2) .Value = CellValue Next k End Sub

Dieser Code gibt das folgende Ergebnis.

Diesmal haben wir nur zwei Dezimalstellen.
Ändert nun den Datentyp von einfach auf doppelt.
Code:
Sub Double_Ex () Dim k als Ganzzahl Dim CellValue As Double Für k = 1 bis 6 CellValue = Zellen (k, 1) .Wert Zellen (k, 2) .Value = CellValue Next k End Sub

Dies gibt das folgende Ergebnis zurück.

Wir haben genaue Werte aus Spalte A.
Dinge, an die man sich erinnern sollte
- Double ist ein verbesserter Datentyp vom Typ Single.
- Es kann bis zu 14 Dezimalstellen enthalten.
- Es verbraucht 8 Bytes Systemspeicher.