VBA Integer (Ganzzahl) zu String (Zeichenkette) konvertieren

VBA - Visual Basic for Application

VBA ist eine sehr nützliche Programmiersprache, um vor allem in Microsoft Office Anwendungen, wie Excel und Word, Prozesse zu automatisieren. Programmiert man sich in VBA eine kleine Anwendung, kann es vorkommen, dass man eine Datentyp-Konvertierung vornehmen muss vom Datentyp Integer (Ganzzahl) zu String (Zeichenkette).

Das kann der Fall sein, wenn man eine Zahl zum Beispiel mit einem anderen String verketten möchte. Oder es soll ggf. eine Integer-Zahl in einer Message-Box ausgegeben werden.

CStr-Funktion verwenden

Um dies zu erreichen, verwendet man im VBA die Funktion CStr(). Man kann sich die Funktion leicht merken, wenn man bedenkt, dass das “C” für “Convert to” steht und “Str” dann eben für “String”. Als Argument übergibt man der CStr-Funktion den jeweiligen Integer-Wert. Also zum Beispiel CStr(17).

Hinweis: Die CStr-Funktion kann jedoch nicht nur Ganzzahlen übernehmen. Auch weitere Datentypen, wie Datum (Date) oder Boolsche Werte (Boolean) oder Gleitkommazahlen (Double) sind möglich, um beispielsweise ein Datum in String zu wandeln oder einen Bool-Wert in String zu wandeln.

Code-Beispiel

Der folgende Code zeigt ein Beispiel. Hier wird die Ganzzahl myNumber mit CStr() umgewandelt und mit der Zeichenkette myString verkettet. Der so neu gebildete String wird dann in einer Messagebox (MsgBox) ausgegeben.

Sub IntegerToString()
Dim myNumber As Integer
Dim myString As String

myString = " Bier sind zuviel!!!"
myNumber = 5

myString = CStr(myNumber) + myString
MsgBox (myString)

End Sub

Führt man die Methode zum Beispiel in Excel über Entwicklertools ➔ Makros aus, dann erhält man die folgende Ausgabe:

Screenshot Excel Makro zum Umwandeln Integer in String wurde ausgeführt. Die Ausgabe erfolgt in einer MessageBox
Ausgabe in MessageBox nach Konvertierung Ganzahl in Zeichenkette

VBA-Fehlermeldung “Typen unverträglich”

Die meisten dürften auf der Suche nach der CStr-Funktion sein, nachdem sie in ihrem VBA-Makro die folgende Fehlermeldung erhalten haben beim Versuch Integer direkt mit einer Zeichenkette zu verknüpfen.

Typen unverträglich

 

Screenshot VBA-Fehlermeldung Typen unverträglich beim Versuch Integer mit einem String zu verknüpfen
Fehlermeldung bei direkte Verwendung von Integer-Variablen im String

Wenn wir bei unserem Beispiel bleiben, aber CStr() nicht verwenden, sondern die Integer-Variable direkt einfügen, dann passiert genau das.

Sub IntegerToString()
Dim myNumber As Integer
Dim myString As String

myString = " Bier sind zuviel!!!"
myNumber = 5

myString = myNumber + myString
MsgBox (myString)

End Sub
Bestseller Nr. 1
Bestseller Nr. 2

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert