VBA – Zeichenkette in Zahl umwandeln
In this Article
Es kann vorkommen, dass Sie in Ihrem VBA-Code als Text gespeicherte Zahlen in tatsächliche Zahlen umwandeln müssen. In diesem Tutorial gehen wir auf die Funktionen ein, die Sie verwenden müssen, um eine Zeichenkette in einen Integer-, Long-, Double-, Dezimal- oder Währungsdatentyp umzuwandeln (Klicken Sie hier, um mehr über die Umwandlung von Zahlen in Zeichenketten zu erfahren)
String in Integer umwandeln
Sie können die Funktionen CInt oder CLng verwenden, um eine Zeichenkette in eine ganze Zahl zu konvertieren. Wenn der Bruch kleiner als 0,5 ist, rundet die Funktion ab. Wenn der Bruch größer oder gleich 0,5 ist, rundet die Funktion auf. Der folgende Code wandelt eine Zeichenkette in eine ganze Zahl um:
MsgBox CInt("7.55")
Das Ergebnis ist:
Der folgende Code verwendet die Funktion CLng, um eine Zeichenkette in eine ganze Zahl umzuwandeln:
MsgBox CLng("13.5")
Das Ergebnis ist:
Hinweis: Sie können die Funktionen CInt oder CLng verwenden, um eine Zeichenkette in einen Integer- bzw. Long-Datentyp umzuwandeln. Der Long-Datentyp ist derselbe wie ein Integer-Datentyp, außer dass größere Zahlen dabei zulässig sind. In der Vergangenheit war diese Unterscheidung aufgrund von Speicherbeschränkungen erforderlich. In der modernen Programmierung gibt es keinen Grund, den Long-Datentyp nicht zu verwenden, da der Speicherplatz keine Rolle mehr spielt. Es ist also immer besser, einen Long-Datentyp anstelle eines Integer-Datentyps zu verwenden.
Sie können das Direktfenster verwenden, um zu sehen, wie der Wert verarbeitet werden würde, wenn er nicht in eine Ganzzahl umgewandelt worden wäre:
Debug.Print "13.5" + "13.5"
Normalerweise wird der Text als Variable gespeichert und diese Variable muss in einen Zahlendatentyp, wie im folgenden Code gezeigt, umgewandelt werden:
Sub Verwendung_Variablen()
Dim wertEins As String
wertEins = 5
MsgBox CLng(wertEins) + CLng(wertEins)
End Sub
String in Dezimalzahlen umwandeln
Sie können die Funktion CDbl oder CDec verwenden, um eine Zeichenkette in eine Dezimalzahl umzuwandeln. Der folgende Code würde eine Zeichenkette in einen Double-Datentyp umwandeln:
MsgBox CDbl("9.1819")
Das Ergebnis ist:
Der folgende Code würde eine Zeichenkette in einen dezimalen Datentyp umwandeln:
MsgBox CDec("13.57") + CDec("13.4")
Das Ergebnis ist:
Sie können das Direktfenster verwenden, um zu sehen, wie der Wert verarbeitet werden würde, wenn er nicht in einen Double- oder Dezimaldatentyp umgewandelt worden wäre:
Debug.Print "13.57" + "13.4"
Das Ergebnis ist: Hinweis: Der Datentyp „Dezimal“ kann größere Zahlen speichern als der Datentyp „Double“. Daher ist es immer ratsam, den Datentyp „Dezimal“ zu verwenden, wenn Sie unsicher sind.
String in Währung umwandeln
Sie können die Funktion CCur verwenden, um eine Zeichenkette in eine Währung umzuwandeln. Der folgende Code würde eine Zeichenkette in einen Währungsdatentyp umwandeln:
Range("A1").Value = CCur("18.5")
Das Ergebnis ist:
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!