Was ist Excel VBA CDBL?

CDBL ist eine VBA-Funktion, mit der die Ausdrücke in einen doppelten Datentyp konvertiert werden. VBA besteht aus einer Reihe von Datenkonvertierungsfunktionen. Mit dieser Hilfe können Sie den Datentyp einer Variablen oder eines Werts von einem in einen anderen ändern. Bei verschiedenen Berechnungen ist die Konvertierung ein notwendiger Prozess, um das richtige Ergebnis zu erzielen. CDBL ist eine der Datenkonvertierungsfunktionen, die in den Typkonvertierungsfunktionen in VBA enthalten sind. CDBL steht für "Convert to double". Während der Verarbeitung von Daten können Situationen auftreten, in denen Sie die Ganzzahl auf "Verdoppeln" ändern. Um das genaue Ergebnis auszudrucken, hilft Ihnen diese Funktion. Die VBA CDBL-Funktion akzeptiert nur Zahlen. Alle Ausdrücke außer Zahlen führen zu einem Typenkonflikt.

Format der CDBL-Funktion in Excel VBA

CDBL ist eine einfache Funktion, für deren Ausführung in VBA ein einzelner Ausdruck erforderlich ist. Der Ausdruck sollte eine Zahl sein.

  • Ausdruck: Ist die Zahl, die Sie in eine gleitende Zahl umwandeln möchten.

Wenn es sich bei dem Ausdruck nicht um eine Zahl handelt, gibt die Funktion einen Nichtübereinstimmungsfehler zurück. Das folgende Beispiel zeigt, wie ein Nicht-Zahlen-Ausdruck an die Funktion CDBL übergeben wird und eine Fehlanpassung des Fehlertyps verursacht.

Verwendung der CDBL-Funktion in VBA

Lassen Sie uns überprüfen, wie uns die VBA CDBL-Funktion bei der Datenverarbeitung hilft. Um eine klare Übersicht zu erhalten und die praktische Verwendung des Änderns des Datentyps zu verstehen, sehen Sie sich das folgende Beispiel an. Sie können den Unterschied anhand des Datentyps sehen, der für dieselbe Variable verwendet wird.

  • Deklarieren Sie eine Variable als Integer-Datentyp und weisen Sie ihr einen Gleitkommawert zu. Sehen Sie sich beim Drucken des Werts an, wie dieser angezeigt wird.

Code:

 Private Sub addconvert () Dim b As Integer End Sub 

  • Der deklarierten Ganzzahlvariablen wird ein Gleitkommawert zugewiesen. 785.456923785475 ist der Variablen b zugewiesen, die eine Ganzzahlvariable ist.

Code:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 End Sub 

  • Drucken Sie den zugewiesenen Wert in einem Meldungsfeld aus.

Code:

 Private Sub addconvert () Dim b As Integer b = 785.456923785475 MsgBox b End Sub 

Sehen Sie, wie sich die Ergebnisse beim Drucken des Werts unterscheiden.

Sie haben eine Zahl mit gleitenden Werten zugewiesen, aber in der Ausgabe wird nur der ganzzahlige Teil der angegebenen Zahl angezeigt. Hier wird die Variable 'b' als Ganzzahl deklariert, sodass sie keinen Gleitkommawert akzeptiert. Der ganzzahlige Teil des Dezimalwerts wird genommen und der Dezimalteil wird vermieden. Da die Variable als Ganzzahl deklariert ist, wird die Zahl auf die nächste Ganzzahl gerundet.

Ändern Sie zum Drucken der Daten den variablen Datentyp in double anstelle des ganzzahligen Datentyps.

  • Durch einfaches Ändern desselben Codes können Sie die angegebene Nummer so ausdrucken, wie sie ist. Deklarieren Sie die Variable als doppelten Datentyp.

Code:

 Private Sub addconvert () Dim b As Double End Sub 

  • Der deklarierten double-Variablen wird eine Zahl als double zugewiesen. 785.456923785475 ist der Variablen b zugeordnet, deren Datentyp doppelt ist.

Code:

 Privates Sub addconvert () Dim b As Double b = 785.456923785475 End Sub 

  • Verwenden Sie ein Meldungsfeld, um den zugewiesenen Wert zu drucken.

Code:

 Private Sub addconvert () Dim b As Double b = 785.456923785475 MsgBox b End Sub 

Sehen Sie, wie sich die Ergebnisse beim Drucken des Werts unterscheiden. Sie haben eine Zahl mit gleitenden Werten zugewiesen.

Vergleichen Sie beide Ausgänge, Sie können den Unterschied sehen. Sogar die Daten und Variablen sind gleich, die Änderung des Datentyps veränderte die gesamte Ausgabe. Daraus wird ersichtlich, wie wichtig der Datentyp ist und wie er das gesamte Programm beeinflusst. Dies ist der Grund für die Verwendung einer anderen Art von Konvertierungsfunktionen mit VBA.

Beispiele für die CDBL-Funktion in Excel VBA

Im Folgenden sind die verschiedenen Beispiele für die Konvertierung von VBA in Double aufgeführt.

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

Beispiel 1: Konvertieren Sie den Datentyp string in double

Sehen wir uns an, wie die Datenkonvertierung durchgeführt wird und welche Änderungen Sie mithilfe der Datenkonvertierungsfunktionen vornehmen können. Die Zeichenfolge ist ein Datentyp, der alle Datentypen akzeptiert. Eine Variable ist als Zeichenfolge definiert und weist ihr eine Nummer zu.

  • Verwenden Sie eine private Funktion, um die Änderungen in verschiedenen Datentypen zu überprüfen. Erstellen Sie eine Funktion, die als privat konvertiert wird, und deklarieren Sie die Variable 'a' als Zeichenfolge.

Code:

 Private Sub convert () Verdunkelt ein As String End Sub 

  • Um die Konvertierung durchzuführen, benötigen Sie eine Variable. Da die Variable in einen doppelten Datentyp konvertiert wird, deklarieren Sie sie als doppelten Datentyp. Nach der Datenkonvertierung wird der Wert dieser Variablen zugewiesen.

Code:

 Private Sub convert () Dimmt einen As-String ab. Dim convert As Double End Sub 

  • Weisen Sie der Zeichenfolgenvariablen eine Gleitkommazahl 1234.5645879 zu. Der String-Datentyp akzeptiert die Zahlen mit gleitenden Werten.

Code:

 Private Sub convert () Dimme einen As String Dimme einen As Double a = 1234.5645879 End Sub 

  • Verwenden Sie jetzt die VBA-CDBL-Funktion, um den Wert in double umzuwandeln. Sie können die Variable 'convert' verwenden, die als doppelter Datentyp deklariert ist. Übergeben Sie die Variable 'a' als Ausdruck an die CDBL-Funktion.

Code:

 Private Sub convert () Dimme einen As-String. Dimme einen As-Double. A = 1234.5645879 convert = CDbl (a) End Sub 

  • Um den Ausgabewert anzuzeigen, können Sie über ein Meldungsfeld drucken.

Code:

 Private Sub convert () Dimmt einen As-String ab Dimmt einen As-Double ab a = 1234.5645879 convert = CDbl (a) MsgBox convert End Sub 

  • Führen Sie diesen Code aus, indem Sie F5 direkt oder manuell in der oberen linken Leiste auf die Schaltfläche Ausführen drücken.

  • Der der Variablen 'a' zugewiesene Wert wird mit Gleitkommawerten und einem ganzzahligen Wert gleich ausgegeben. Der Wert wird in einen doppelten Datentyp konvertiert und derselbe wird wie unten gedruckt.

Beispiel # 2 - Konvertieren und Hinzufügen von zwei Zahlen

Sie müssen zwei Variablen hinzufügen und die Summe als Teil Ihrer Berechnung ermitteln. Beide sind Gleitkommazahlen mit Dezimalwerten. Eine Variable wird jedoch als Ganzzahl und eine andere als Doppelzahl deklariert.

  • Erstellen Sie eine Funktion add, um die Summe zweier Zahlen zu ermitteln. Zwei Variablen A1 und A2 werden als Integer bzw. Double deklariert.

Code:

 Privates Unterelement add () Dim A1 As Integer Dim A2 As Double End-Unterelement 

  • Ordnen Sie die beiden Zahlen den jeweiligen Variablen zu. Beide sind zwei Gleitkommazahlen mit Dezimalwerten.

Code:

 Private Sub add () A1 als Ganzzahl dimmen A2 als Doppel A1 = 1256.45 A2 = 1234.58 End Sub 

  • Deklarieren Sie eine dritte variable Summe als doppelten Datentyp, da das Ergebnis ein doppelter Wert ist.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 End Sub 

  • Addieren Sie die beiden angegebenen Zahlen und geben Sie das Ergebnis in die variable Summe ein.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 End Sub 

  • Über ein Meldungsfeld können Sie die Ausgabe drucken.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 sum = A1 + A2 MsgBox sum End Sub 

  • Führen Sie diesen Code aus, indem Sie F5 direkt oder manuell in der oberen linken Leiste auf die Schaltfläche Ausführen drücken.

Das erwartete Ergebnis ist 2491.03. Wenn Sie die Ausgabe überprüfen, können Sie Unterschiede im Ergebnis feststellen. Die Nichtübereinstimmung im Ergebnis ist auf den Wert der Variablen A1 zurückzuführen. Da es sich um eine Ganzzahlvariable handelt, wird der Dezimalteil der Zahl nicht akzeptiert. Bei der Verarbeitung der Summe wird nur der Ganzzahlteil verwendet.

  • Um dies zu vermeiden, konvertieren Sie die Zahl A1 in double und weisen Sie die konvertierte Zahl einer anderen Variablen A3 zu.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A1 + A2 MsgBox sum End Sub 

  • Fügen Sie nun die konvertierte Variable mit A2 anstelle von A1 hinzu. Da die Zahl in einen doppelten Datentyp konvertiert wird, wird der Wert mit Gleitkommazahlen akzeptiert und mit A2 addiert.

Code:

 Private Sub add () Dim A1 As Integer Dim A2 As Double Dim sum As Double A1 = 1256.45 A2 = 1234.58 A3 = CDbl (1256.45) sum = A2 + A3 MsgBox sum End Sub 

  • Führen Sie diesen Code aus, indem Sie F5 direkt oder manuell in der oberen linken Leiste auf die Schaltfläche Ausführen drücken.

Der Summenwert wurde korrigiert und ergab das erwartete Ergebnis.

Dinge, an die man sich erinnern sollte

  • Die VBA CDBL-Funktion akzeptiert keine Werte anstelle einer Zahl.
  • Ein Typenkonfliktfehler wird erzeugt, wenn der VBA-CDBL-Funktion ein Textwert übergeben wird.
  • Doppelter Datentyp zeigt 13-stellige Dezimalwerte an.
  • Mit der VBA-CDBL-Funktion können Sie bei der Verarbeitung der Zahlen in Excel ein korrektes Ergebnis erzielen.

Empfohlene Artikel

Dies ist eine Anleitung zur VBA CDBL-Funktion. In diesem Abschnitt wird die Verwendung der VBA-CDBL-Funktion zum Konvertieren des Werts in den Datentyp Double in Excel zusammen mit einigen praktischen Beispielen und einer herunterladbaren Excel-Vorlage erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen -

  1. VBA-Blockkommentar
  2. SUMPRODUCT-Funktion in Excel
  3. VBA Named Range
  4. COMBIN-Funktion in Excel

Kategorie: