Typanforderungen in VBA
Einem der Typen »Integer« oder »Double« nennen wir auch einen numerischen Typ. Beispielsweise sind »2«, »-2« und »2.« Ausdrücke mit numerischem Typ.
String-Numeralia
String-Numeralia sind Numeralia, die als Zeichenfolge vom Typ »String« gegeben sind. Solche String-Numeralia können in VBA dort verwendet werden, wo ein numerischer Ausdruck erwartet wird.
- Direktbereich
? -"65"
-65
Der Zahlenwert eines String-Numerales hat immer den Typ »Double«, sie können keine Typkennzeichen, wie »%« oder »#« enthalten. Beispielsweise hat der Ausdruck »--"65"« in VBA den Typ »Double«, obwohl »65« ohne Anführungszeichen den Typ »Integer« hat.
String-Numeralia können auch ein einziges Vorzeichen enthalten, aber nicht mehrere, wenn sie in einem Ausdruck für einen Zahlenwert stehen sollen.
- Direktbereich
? -"65" -65 ? -"-65" 65
Einen Ausdruck nennen wir numerisch, wenn einen numerischen Typ hat oder wenn er den Typ »String« hat und seine Zeichenfolge ein Numeral mit einem optionalen Vorzeichen ist. Beispielsweise sind »2«, »2.«, »"2"«, »"2."« und »"-2"« numerische Ausdrücke, nicht aber »"a"«. Auch »"--2"« ist nicht numerisch, da es mehr als ein Vorzeichen hat.
Ein Ausdruck vom Typ »String« wird nach einem Vorzeichen als Zahl vom Typ »Double« interpretiert, selbst wenn er ein ganzzahliges Numerale enthält. Daher hat der Ausdruck »-"2"« den Typ »Double«.
Typanforderungen von Vorzeichenoperatoren
Der Ausdruck nach einem Vorzeichenoperator muß numerisch sein.
- Vorzeichen vor numerischen Ausdrücken vom Typ »Integer«
? -2 -2
- Vorzeichen vor numerischen Ausdrücken vom Typ »Double«
? -2. -2
- Vorzeichen vor numerischen Ausdrücken vom Typ »String«
? -"2" -2 ? -"2." -2 ? -"-2." 2
- Vorzeichen vor nicht-numerischen Ausdrücken vom Typ »String«
? -"a"
- ⚠ Laufzeitfehler '13': Typen unverträglich
- ⚠ Run-time Error '13': Type mismatch