VBA Double

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

Sie können diese VBA Double Excel-Vorlage hier herunterladen - VBA Double Excel-Vorlage

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 größer als 0,5 ist, wird er in den nächsten ganzzahligen Wert konvertiert, und 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 dezimale Wert 6 an zweiter Stelle 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 das Ergebnis des Meldungsfelds enthält.

Diesmal wurden alle Dezimalwerte ermittelt. Unter dem Datentyp Double können bis zu 14 Dezimalstellen angegeben werden.

Wenn Sie einen Wert größer als 14 Dezimalstellen angeben, wird dieser in den nächsten Wert konvertiert. Ein Beispiel finden Sie im folgenden Bild.

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

Anstelle von 59 (letzte zwei Ziffern) haben wir 6, dh da die letzte Ziffer 9 ist, die größer als 5 ist, wird die vorherige Zahl 5 in den nächsten ganzzahligen Wert umgewandelt, dh 6

Beispiel 2

Jetzt werde ich in einem Arbeitsblatt zeigen, wie man mit Zellreferenzen arbeitet. Unten sind die Zahlen aufgeführt, die ich in das Arbeitsblatt eingegeben habe.

Beginnen wir mit der Erfassung derselben Werte als nächstes, indem wir den Datentyp INTEGER, den Datentyp SINGLE und den Typ DOUBLE verwenden.

Unten finden Sie den Code zum Beibehalten von Werten aus Spalte A bis B mithilfe des Datentyps INTEGER.

Code:

 Sub Double_Ex () Dim k als Ganzzahl Dim CellValue As Integer Für k = 1 bis 6 CellValue = Cells (k, 1) .Value Cells (k, 2) .Value = CellValue Next k End Sub 

Lassen Sie uns den Code über die Tastenkombination F5 ausführen, um zu sehen, welche Werte in Spalte B angezeigt werden.

Wenn wir Integer als Datentyp verwendet haben, haben wir alle ganzen Zahlen erhalten, 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 Weiter 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.