Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CDbl - wofür steht dieser Ausdruck in VBA??

Forumthread: CDbl - wofür steht dieser Ausdruck in VBA??

CDbl - wofür steht dieser Ausdruck in VBA??
06.07.2003 21:23:02
Maria
Hallo Leute,

ganz dumme Frage, aber für mich wichtig:

Wofür steht genau CDbl, bzw. warum ist es erforderlich bei der Angabe??

Habe hier eine Aufgabe, die ich nicht nachvollziehen kann.

Zwei Textfelder sollen voneinander abgezogen werden, davor steht jeweils dieses Cdbl und dann der Textfeldausdruck in Klammern.

Würde mich freunen, wenn Ihr mir schnell helfen könntet.

Vielen Dank im voraus.

Maria
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CDbl - wofür steht dieser Ausdruck in VBA??
06.07.2003 21:29:57
PeterW
Hallo Maria,

in Textfeldern stehen immer Texte, um damit rechnen zu können müssen die "Texte" in Zahlen umgewandelt werden. CDbl wandelt in das Format Double (siehe dazu die VBA-Hilfe).

Gruß
Peter


Anzeige
Anzeige

Infobox / Tutorial

CDbl in VBA verstehen und anwenden


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Einfügen eines Moduls:

    • Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.
  3. Verwendung von CDbl:

    • Um einen Text in eine Zahl vom Typ Double umzuwandeln, schreibe:
      Dim zahl As Double
      Dim text As String
      text = "123.45"
      zahl = CDbl(text)
  4. Anwendung in Textfeldern:

    • Wenn du zwei Textfelder abziehen möchtest, kannst du folgendes verwenden:
      Dim result As Double
      result = CDbl(TextBox1.Text) - CDbl(TextBox2.Text)
  5. Fehlerbehandlung:

    • Achte darauf, dass die Texte in den Textfeldern tatsächlich Zahlen enthalten, um Laufzeitfehler zu vermeiden.

Häufige Fehler und Lösungen

  • Fehler: Typkonflikt:

    • Wenn du versuchst, einen Text, der keine Zahl ist, mit CDbl zu konvertieren, erhältst du einen Typkonflikt. Stelle sicher, dass der Text in den Textfeldern tatsächlich eine Zahl darstellt.
  • Lösung:

    • Verwende IsNumeric vor der CDbl-Anweisung, um zu überprüfen, ob der Text in eine Zahl umgewandelt werden kann:
      If IsNumeric(TextBox1.Text) And IsNumeric(TextBox2.Text) Then
      result = CDbl(TextBox1.Text) - CDbl(TextBox2.Text)
      Else
      MsgBox "Bitte geben Sie gültige Zahlen ein."
      End If

Alternative Methoden

  • Verwendung von CDBL() in Excel:

    • Du kannst auch CDBL() direkt in Excel-Formeln verwenden, um Werte zu konvertieren:
      =CDBL(A1)
  • CDbl in anderen Datentypen:

    • CDbl kann auch in Verbindung mit anderen Datentypen wie Integer oder Long verwendet werden, um sicherzustellen, dass die Berechnungen korrekt sind.

Praktische Beispiele

  • Beispiel 1: Zwei Textfelder addieren:

    Dim summe As Double
    summe = CDbl(TextBox1.Text) + CDbl(TextBox2.Text)
    MsgBox "Die Summe ist: " & summe
  • Beispiel 2: CDbl in einer Funktion verwenden:

    Function AddiereWerte(wert1 As String, wert2 As String) As Double
      AddiereWerte = CDbl(wert1) + CDbl(wert2)
    End Function

Tipps für Profis

  • Verwendung von CDouble:

    • Wenn du sicherstellen möchtest, dass die Werte als Double behandelt werden, kannst du auch CDbl anstelle von CInt oder CLng verwenden, um Rundungsfehler zu vermeiden.
  • Leistungsoptimierung:

    • Reduziere die Anzahl der Konvertierungen in großen Schleifen, indem du die Werte einmal konvertierst und dann in Variablen speicherst.

FAQ: Häufige Fragen

1. Wofür steht CDbl in VBA?
CDbl ist eine Funktion in VBA, die einen Wert in den Datentyp Double umwandelt. Dies ist wichtig, wenn du mit Zahlen arbeiten möchtest, die Dezimalstellen enthalten.

2. Was ist der Unterschied zwischen CDbl und CDouble?
Es gibt keinen Unterschied in der Funktionalität. CDbl ist die Kurzform, während CDouble die vollständige Bezeichnung ist. Beide dienen der Konvertierung in den Double-Datentyp.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige