Typinformationen in VBA
In dieser Lektion werden verschiedene Funktionen vorgestellt, mit denen Informationen über den Typ eines Wertes erhalten werden können.
»VBA.Information.IsNumeric«
Diese Funktion ergibt, ob ein Wert numerisch ist, also als Zahl interpretiert werden kann. Dies trifft nicht nur für Ausdrücke eines numerischen Typs (wie »Integer« oder »Double«) zu, sondern auch für Zeichenfolgen, die als eine Zahl interpretiert werden können.
- Direktbereich
? VBA.Information.IsNumeric( 1 )
Wahr
? VBA.Information.IsNumeric( "abc" )
Falsch
? VBA.Information.IsNumeric( "123" )
Wahr
? VBA.Information.IsNumeric( "-123" )
Wahr
? VBA.Information.IsNumeric( "--123" )
Falsch
- Aussprachehinweis
- numeric nuˈmɛrɪk
»VBA.Information.TypeName«
Die Funktion »VBA.Information.TypeName« ergibt den Namen des Typs ihres Argumentwertes als Zeichenfolge.
Sie erlaubt es uns nun, einige der früher schon beschriebenen Typen zu beobachten.
Das folgende Beispiel zeigt den Typ eines ganzzahligen Numerales.
- Direktbereich
? VBA.Information.TypeName( 1 )
Integer
Das folgende Beispiel zeigt den Typ von Punktnumeralia.
- Direktbereich
? VBA.Information.TypeName( 1.0 )
Double
? VBA.Information.TypeName( 0.9 )
Double
? VBA.Information.TypeName( 1. )
Double
Das folgende Beispiel zeigt den Typ eines Numerales mit einem nachgestellten Prozentzeichen »%«. Das Prozentzeichen »%« kann einem ganzzahligen Numerale nachgestellt werden, um dessen Typ als »Integer« festzulegen.
- Direktbereich
? VBA.Information.TypeName( 1% )
Integer
Das Nummernzeichen »#« kann einem Numerale nachgestellt werden, um dessen Typ als »Double« festzulegen.
- Direktbereich
? VBA.Information.TypeName( 1# )
Double
Das kommerzielle À »@« kann einem Numerale nachgestellt werden, um dessen Typ als »Currency« festzulegen.
- Direktbereich
? VBA.Information.TypeName( 1.1@ )
Currency
Das folgende Beispiel zeigt den Typ eines Numerales mit einem »E«.
- Direktbereich
? VBA.Information.TypeName( 1E0 )
Double
Das folgende Beispiel zeigt den Typ des Produktes zweier Integer-Ausdrücke.
- Direktbereich
? VBA.Information.TypeName( 1 * 2 )
Integer
Das folgende Beispiel zeigt den Typ des Produktes zweier Double-Ausdrücke.
- Direktbereich
? VBA.Information.TypeName( 1.0 * 2.0 )
Double
Das folgende Beispiel zeigt den Typ des Produktes eines Integer-Ausdrucks mit einem Double-Ausdruck.
- Direktbereich
? VBA.Information.TypeName( 1 * 2.0 )
Double
Das folgende Beispiel zeigt den Typ des Produktes eines Double-Ausdrucks mit einem Integer-Ausdruck.
- Direktbereich
? VBA.Information.TypeName( 1.0 * 2 )
Double
Das folgende Beispiel zeigt den Typ des Produktes eines Integer-Ausdrucks mit einem String-Ausdruck. Man kann sich dabei vorstellen, daß der Ausdruck zunächst in einen Ersatzausdruck »1 * 2#« umgewandelt wird, in dem der String-Ausdruck durch einen Double-Ausdruck ersetzt wurde.
- Direktbereich
? VBA.Information.TypeName( 1 * "2" )
Double
Obwohl »"123"« numerisch ist, ist sein Typ »String«.
- Direktbereich
? VBA.Information.IsNumeric( "123" )
Wahr
- Direktbereich
? VBA.Information.TypeName( "123" )
String
Wir können die Typen von Argumenten und von Aufrufen beobachten.
- Direktbereich
? VBA.Information.TypeName( 2.0 )
Double
? VBA.Information.TypeName( VBA.Math.Sqr( 2.0 ))
Double
? VBA.Information.TypeName( "2.0" )
String
? VBA.Strings.StrReverse( "2.0" )
0.2
? VBA.Information.TypeName( VBA.Strings.StrReverse( "2.0" ))
String
Während ein negatives Vorzeichen »-« den Typ einer numerischen Zeichenfolge in den Zahlentyp »Double« wandelt, verändert ein positives Vorzeichen »+« den Typ »String« nicht.
- Direktbereich
? VBA.Information.TypeName( -"1." )
Double
? VBA.Information.TypeName( -"1" )
Double
? VBA.Information.TypeName( +"1." )
String
»VBA.Information.VarType«
Diese Funktion ergibt den Typ ihres Argumentwerts als Kennzahl.
- Kennzahlen von »VBA.Information.VarType«
- 2 Integer
5 Double
6 Currency
8 String - Direktbereich
? VBA.Information.VarType( 1 )
2
? VBA.Information.VarType( 1. )
5
? VBA.Information.VarType( 1@ )
6
? VBA.Information.VarType( "abc" )
8