Datentypspezifische Funktionen

CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CLngLng, CSng, CStr, CVar

siehe auch
CBool(Expression) As Boolean
CByte(Expression) As Byte
CCur(Expression) As Currency
CDate(Expression) As Date
CDbl(Expression) As Double
CInt(Expression) As Integer
CLng(Expression) As Long
CLngPtr(Expression) As LongPtr
CLngLng(Expression) As LongLong
CSng(Expression) As Single
CStr(Expression) As String
CVar(Expression) As Variant

Die Funktionen wandeln das Argument Expression in den jeweils angegebenen Datentyp um (Das führende „C“ steht dabei für das englische „Cast“, für „Typumwandlung“). Expression muss dafür jedoch in den jeweiligen Wertebereich des Datentyps „passen“. So führt es z. B. zu einem Fehler, wenn Expression nicht vollständig als Ziffern interpretierbar ist und in einen Zahlen-Datentyp konvertiert werden soll. Auch z. B. CByte(254.9) ist zulässig (es wird gerundet, wobei aber „254,5“ noch zu „254“ abgerundet wird), CByte(255.9) führt dagegen zu einem Fehler.

CLngLng ist nur auf 64-Bit-Systemen vorhanden.

IsArray

IsArray(VarName As Variant) As Boolean

Wenn die Variable VarName ein Array ist, wird True zurückgegeben, sonst False.

IsDate

IsDate(Expression As Variant) As Boolean

Prüft, ob sich Expression in einen Datumswert umwandeln lässt.

IsEmpty

siehe auch
IsEmpty(Expression As Variant) As Boolean

IsEmpty gibt True zurück, wenn Expression eine Variable vom Typ Variant ist, der noch kein Wert zugewiesen wurde.

Einer Variablen vom Typ Variant kann auch der spezielle Wert Empty zugewiesen werden, um die Variable wieder in den Zustand zu versetzen, als wenn ihr noch kein Wert zugewiesen worden wäre. Empty ist etwas anderes als der Wert Null, der anzeigt, dass einer Variantvariable ein leerer Wert zugewiesen wurde.

Sub leer()
Dim w As Variant

w = 0           'Zuweisung eines Wertes
Debug.Print w

w = Null        'Zuweisung eines leeren Wertes
Debug.Print w

w = Empty       'Zuweisung: Kein Wert enthalten
Debug.Print w

End Sub

IsMissing

IsMissing(ArgName As Variant) As Boolean

Wenn einer Prozedur ein Argument ArgName optional übergeben werden kann, das vom Typ Variant ist und für das kein Standardwert definiert ist, gibt innerhalb dieser Prozedur IsMissing genau dann True zurück, wenn ArgName nicht übergeben wurde.

Function KeinWert(Optional EinWert)

KeinWert = IsMissing(EinWert)

End Function

Zumeist kann auf IsMissing verzichtet werden. Variant ist ohnehin ein Datentyp, der nach Möglichkeit vermieden werden sollte, und wenn man optionale Argumente verwendet, ist es im Allgemeinen sinnvoll, Ihnen einen Startwert zu geben. Argumente eines anderen Datentyps als Variant haben auch ohne einen speziell definierten Startwert stets einen Wert.

IsNull

siehe auch
IsNull(Expression As Variant) As Boolean

Gibt True zurück, wenn Expression eine Variable vom Typ Variant ist und ihr der spezielle Wert Null zugewiesen wurde.

Null zeigt an, dass die Variable keine gültigen Daten enthält.

IsNumeric

IsNumeric(Expression As Variant) As Boolean

Prüft, ob sich Expression in eine Zahl umwandeln lässt.

IsObject

IsObject(Expression As Variant) As Boolean

Prüft, ob es sich bei Expression um eine Objektvariable handelt.

Str

siehe auch
Str(Number) As String

Wandelt eine Zahl in einen String um. Das Argument Number muss einem beliebigen numerischen Datentyp entsprechen. Im Gegensatz zu CStr fügt Str bei positiven Werten ein führendes Leerzeichen für das Vorzeichen ein. Bei Zahlen mit Nachkommastellen nutzt Str den Punkt als Trennzeichen, CStr richtet sich dagegen nach den länderspezifischen Einstellungen des Systems.

TypeName

siehe auch
TypeName(VarName As Variant) As String

Gibt einen definierten String zurück, der den Datentyp von VarName angibt.

Val

siehe auch
Val(String As String) As Double

Wandelt einen String in eine Zahl um. String darf auch Zeichen enthalten, die nicht als Text interpretierbar sind. String wird von links nach rechts wie folgt interpretiert: Leerzeichen werden entfernt, als Zahl interpretierbare Zeichen werden solange zurückgegeben, bis ein nicht als Zahl interpretierbares Zeichen gefunden wird. Der Rest wird abgeschnitten.

Debug.Print Val("    1.23 Euro")
 1,23

VarType

siehe auch
VarType(VarName As Variant) As VbVarType

Gibt aus der Aufzählung VbVarType den Wert zurück, der dem Datentyp von VarName entspricht.