Visual Basic for Applications (VBA): Konvertierung von Datentypen

Sie werden bei der Programmierung häufig den Datentyp einer Variablen konvertieren müssen. Dies ist zum Beispiel immer dann der Fall, wenn Sie Daten für die Steuerelemente eines Dialogfelds aufbereiten müssen. Textfelder oder Comboboxen können beispielsweise nur Strings aufnehmen. Deshalb hat die Konvertierung in den Datentyp String die größte Bedeutung. Daneben sind aber auch noch weitere Arten der Konvertierung von Bedeutung. Die folgenden Tabelle listet alle in Visual Basic for Applications zur Verfügung stehenden Funktionen für die Datentypkonvertierung auf.

Funktion                Konvertierung in den Datentyp

CBool                        Boolean

CByte                        Byte

CCur                          Currency

CDate                        Date

CDbl                          Double

CDec                         Decimal

CInt                           Integer

CLng                          Long

CSng                         Single

CVar                          Variant

CStr                           String

Das folgende Beispiel zeigt die Anwendung der Konvertierungsfunktion CByte.

Dim VarDouble As Double

Dim VarByte As Byte

VarDouble = 47.68

VarByte = CByte(VarDouble) ‚ VarByte enthält 48.

Datentypkonvertierung von Double nach Byte mit Hilfe der Funktion CByte.

Im obigen Beispiel wird der Variablen VarDouble der Datentyp double und der Variablen VarByte der Datentyp Byte zugewiesen. Mit Hilfe der Konvertierungsfunktion CByte wird der VariablenVarByte der Inhalt der Variablen VarDouble zugewiesen. Dabei wird der Wert von VarDouble nach oben aufgerundet.

Funktionen

Häufig reicht es nicht aus, nur Parameter an Prozeduren zu übergeben, man benötigt zum Beispiel das Ergebnis einer Berechnung. Dazu werden in Visual Basic for Applications die sogenannten Funktionen eingesetzt. Funktionen erlauben die Rückgabe von Ergebnissen an die aufrufende Prozedur. Die allgemeine Syntax sieht so aus:

Function <Prozedurname> ([Parameterliste As Datentyp]) As Datentyp

VBABefehle

End Function

Im folgenden Beispiel wird der Funktion BerechneMwst der aktuelle Mehrwertsteuersatz und der Betrag – auf den die Mehrwertsteuer aufgeschlagen werden soll – übergeben.

Function BerechneMwst(Mwst As Double, Betrag As Double) As Double

‚ Berechnet den Betrag der Mehrwertsteuer

Dim Ergebnis As Double

Ergebnis = Betrag * Mwst / 100

BerechneMwst = Ergebnis

End Function

Sub EingabeBetrag()

‚ Fragt nach einem Betrag, dessen

‚ Mehrwertsteuer berechnet werden soll.

Dim Eingabe As String

Dim Wert As Double

Dim BetragMwst As Double

Beep

Eingabe = InputBox(„Geben Sie einen Betrag ein!“)

Wert = Val(Eingabe)

BetragMwst = BerechneMwst(16, Wert)

MsgBox „Betrag: “ & Str(Wert) & “     Mehrwertsteuer: “ & Str(BetragMwst), vbInformation, „Mehrwertsteuer“

End Sub

Programm zur Berechnung der Mehrwertsteuer.

Die Funktion BerechneMwst ermittelt anhand der übergebenen Parameter den Betrag der Mehrwertsteuer und speichert das Resultat der Berechnung in der Variablen Ergebnis. Damit die aufrufende Prozedur nun auch von dem Ergebnis erfährt, muß es entsprechend zurückgegeben werden. Dazu wird die Variable Ergebnis dem Funktionsnamen übergeben. Der Funktionsname ist eigentlich auch nichts anderes als eine Variable, die den gleichen Datentyp wie Ergebnis besitzt. Auf diese Weise erfährt die Prozedur EingabeBetrag von dem Ergebnis der Berechnung.

In der Prozedur EingabeBetrag müssen Sie zuerst einen Betrag eingeben, dessen Mehrwertsteuer berechnet werden soll. Da die InputBox nur Texte zurückgeben kann, muß die Variable Eingabeumgewandelt werden. Dies wird durch den Befehl Val(Eingabe) bewerkstelligt. Das Ergebnis der Umwandlung ist der Zahlenwert des eingegebenen Betrags.

Danach wird die Prozedur BerechneMwst mit dem aktuellen Mehrwertsteuersatz und dem von Ihnen angegebenen Betrag aufgerufen. Als Ergebnis erhalten Sie den Betrag der Mehrwertsteuer. Zum Schluß wird das Ergebnis der Berechnung und der eingegebene Betrag noch in einem Nachrichtenfenster ausgegeben.

Hier fällt auf, daß die Variablen BetragMwst und Wert, die ja vom Datentyp Double sind, in einen String umgewandelt werden. Das geschieht über den Befehl str. Dieser gehört genauso wie der Befehl Val zum Standardsprachumfang von Visual Basic for Applications. Man spricht in diesem Zusammenhang auch von einer Typumwandlung, da der Inhalt der Variablen einer anderen Variablen mit einem anderen Datentyp zugewiesen wird.

Nach oben scrollen