Wenn Sie jemals Makros programmiert haben, sind Sie wahrscheinlich damit vertraut, wie Sie Variablen mit dem Schlüsselwort Dim definieren. Beispielsweise können Sie eine Ganzzahlvariable mit dem Namen MyVar wie folgt definieren:

Dim MyVar As Integer

Dies ist sehr einfach und funktioniert gut in Ihrem Code. Sie könnten jedoch versucht sein, mehrere Variablen pro Zeile zu definieren:

Dim x, y, z As Integer

In einigen Versionen der BASIC-Sprache werden drei Variablen definiert und initialisiert, die jeweils als Ganzzahl vorliegen. In VBA scheint es auch richtig zu laufen, und es wird kein Fehler generiert. Es gibt jedoch ein kleines Problem: Nur die letzte Variable (z) ist tatsächlich als Ganzzahl definiert.

Sie können sehen, wie dies funktioniert, indem Sie den folgenden Code verwenden:

Sub DimTest()

Dim x, y, z As Integer     MsgBox "x is type " & VarType(x)

MsgBox "y is type " & VarType(y)

MsgBox "z is type " & VarType(z)

End Sub

Wenn Sie das Makro ausführen, zeigen die ersten beiden Meldungsfelder, dass der Variablentyp für x und y 0 ist, was bedeutet, dass er nicht initialisiert ist.

Nur das letzte Meldungsfeld (für z) zeigt einen Variablentyp von 2, was eine Ganzzahl bedeutet.

Die Lösung besteht darin, sicherzustellen, dass Sie Ihre Variablen als eine pro Zeile deklarieren oder die vollständige Syntax für jede Variable wie folgt verwenden:

Dim x As Integer, y As Integer, z As Integer

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (12098) gilt für Microsoft Word 2007, 2010, 2013, 2016, 2019 und Word in Office 365. Eine Version dieses Tipps finden Sie für ältere Menüoberfläche von Word hier: