VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Type-Anweisung

Wird auf Modulebene verwendet, um einen benutzerdefinierten Datentyp mit einem oder mehreren Elementen zu definieren.

Syntax

[Private | Public] Type VarName
Elementname [([Indizes])] As Typ
[Elementname [([Indizes])] As Typ]
. . .

End Type

Die Syntax der Type-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Public Optional. Deklariert benutzerdefinierte Typen, die allen Prozeduren in allen Modulen aller Projekte zur Verfügung stehen.
Private Optional. Deklariert benutzerdefinierte Typen, die nur innerhalb des Moduls verfügbar sind, in dem sie deklariert wurden.
VarName Erforderlich. Name des benutzerdefinierten Typs gemäß den Standardkonventionen für Namen von Variablen.
Elementname Erforderlich. Name eines Elements des benutzerdefinierten Typs. Elementnamen folgen ebenfalls den Standardkonventionen für Namen von Variablen, allerdings sind an dieser Stelle Schlüsselwörter zulässig.
Indizes Optional. Dimensionen eines Datenfeldelements. Verwenden Sie Klammern nur für Deklarationen von Datenfeldern, deren Größe sich ändern kann. Die Syntax für das Argument Indizes ist:
  [Untergrenze To] Obergrenze [,[Untergrenze To] Obergrenze] . . .
  Wenn nicht explizit in Untergrenze angegeben, wird die Untergrenze eines Datenfeldes durch die Option Base-Anweisung gesteuert. Die Untergrenze ist Null, wenn keine Option Base-Anweisung vorhanden ist.
Typ Erforderlich. Datentyp des Elements. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String(für Zeichenfolgen variabler Länge), String * Länge (für Zeichenfolgen fester Länge), Object, Variant, ein anderer benutzerdefinierter Typ oder ein Objekttyp.

Bemerkungen

Die Type-Anweisung kann nur auf Modulebene verwendet werden. Nach der Deklaration eines benutzerdefinierten Typs mit der Type-Anweisung können Sie eine Variable dieses Typs innerhalb des Gültigkeitsbereichs der Deklaration deklarieren. Verwenden Sie die Anweisungen Dim, Private, Public, ReDim oder Static zur Deklaration eines benutzerdefinierten Typs.

In Standardmodulen sind benutzerdefinierte Typen standardmäßig öffentlich. Diese Zugriffsmöglichkeit kann mit dem Schlüsselwort Private verändert werden. In Klassenmodulen können benutzerdefinierte Typen jedoch nur privat sein, und der Zugriffs kann nicht mit dem Schlüsselwort Public verändert werden.

Zeilennummern und Zeilenmarken sind in Type...End Type-Blöcken nicht zulässig.

Benutzerdefinierte Typen werden häufig für Datensätze verwendet, die normalerweise mehrere miteinander verbundene Elemente verschiedener Datentypen enthalten.

Das folgende Beispiel zeigt die Verwendung eines Datenfeldes fester Größe in einem benutzerdefinierten Typ:

Type PLDaten
    Postleitzahl (1 To 100) As Integer    ' Deklariert ein Datenfeld fester Größe.
    ZBezirk As String * 30
End Type
Dim Dortmund (1 To 100) As PLDaten

In diesem Beispiel enthält PLDaten das statische Datenfeld Postleitzahl, und der Datensatz Dortmund hat dieselbe Struktur wie PLDaten.

Wenn Sie ein Datenfeld fester Größe innerhalb eines benutzerdefinierten Typs deklarieren, müssen die Dimensionen mit numerischen Literalen oder Konstanten angegeben werden. Variablen sind an dieser Stelle nicht zulässig.