VBA Konvertieren von Textzeichenfolgen in Zahlen

Möglicherweise müssen Sie in Ihrem VBA-Code als Text gespeicherte Zahlen in tatsächliche Zahlen umwandeln. In diesem Tutorial werden wir die Funktionen durchgehen, die Sie verwenden müssen, um einen String in einen Integer-, Long-, Double-, Dezimal- oder Währungsdatentyp zu konvertieren (Klicken Sie hier, um mehr über das Konvertieren von Zahlen in Strings zu erfahren).

String in Integer umwandeln

Sie können die Funktion CInt oder CLng verwenden, um eine Zeichenfolge in eine Ganzzahl zu konvertieren. Wenn der Bruch kleiner als .5 ist, wird die Funktion abgerundet, wenn der Bruch größer oder gleich .5 ist, wird die Funktion aufgerundet. Der folgende Code konvertiert eine Zeichenfolge in eine ganze Zahl:

1 MsgBox CInt("7.55")

Das Ergebnis ist:

Der folgende Code verwendet die CLng-Funktion, um eine Zeichenfolge in eine ganze Zahl zu konvertieren:

1 MsgBox CLng("13.5")

Das Ergebnis ist:

Notiz: Sie können die CInt- oder CLng-Funktion verwenden, um eine Zeichenfolge in einen Integer- oder Long-Datentyp (jeweils) zu konvertieren. Der Long-Datentyp ist mit einem Integer-Datentyp identisch, außer dass größere Zahlen zulässig sind. In der Vergangenheit war die Unterscheidung aufgrund von Speicherbeschränkungen erforderlich. In der modernen Programmierung gibt es keinen Grund, den langen Datentyp nicht zu verwenden, da Speicher kein Thema mehr ist. Daher ist es immer besser, einen langen Datentyp anstelle einer Ganzzahl zu verwenden.

Sie können das Direktfenster verwenden, um zu sehen, wie der Wert verarbeitet wird, wenn er nicht in eine ganze Zahl konvertiert wird:

1 Debug.Print "13.5" + "13.5"


Normalerweise wird der Text als Variable gespeichert und diese Variable muss in einen Zahlendatentyp konvertiert werden, wie im folgenden Code gezeigt:

1234567 Unter Using_Variables()Dim valueOne As StringWertEins = 5MsgBox CLng(WertEins) + CLng(WertEins)End Sub

String in Dezimal umwandeln

Sie können die Funktion CDbl oder CDec verwenden, um eine Zeichenfolge in eine Dezimalzahl umzuwandeln. Der folgende Code würde eine Zeichenfolge in einen doppelten Datentyp konvertieren:

1 MsgBox CDbl("9.1819")

Das Ergebnis ist:

Der folgende Code würde eine Zeichenfolge in einen dezimalen Datentyp konvertieren:

1 MsgBox CDec("13.57") + CDec("13.4")

Das Ergebnis ist:

Sie können das Direktfenster verwenden, um zu sehen, wie der Wert verarbeitet wird, wenn er nicht in einen doppelten oder dezimalen Datentyp konvertiert wird:

1 Debug.Print "13.57" + "13.4"

Das Ergebnis ist:

Notiz: Der Datentyp Dezimal kann größere Zahlen speichern als der Datentyp Double, daher ist es immer ratsam, den Datentyp Dezimal zu verwenden, wenn Sie sich nicht sicher sind.

String in Währung umwandeln

Sie können die CCur-Funktion verwenden, um eine Zeichenfolge in eine Währung umzuwandeln. Der folgende Code würde eine Zeichenfolge in einen Währungsdatentyp konvertieren:

1 Range("A1").Value = CCur("18.5")

Das Ergebnis ist:

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave