Type-Anweisung

Wird auf Modulebene verwendet, um einen benutzerdefinierten Datentyp zu definieren, der mindestens ein Element enthält.

Syntax

[ Privat | Öffentlich ] Typvarnameelementname [ ( [ subscripts ] ) ] Astype
[ Elementname [ ( [ subscripts ] ) ] Astype ] . . .
End Type

Die Anweisungssyntax Type hat folgende Teile:

Teil Beschreibung
Public Optional. Wird verwendet, um benutzerdefinierte Typen zu deklarieren, die für alle Prozeduren in allen Modulen in allen Projekten verfügbar sind.
Private Optional. Wird verwendet, um benutzerdefinierte Typen zu deklarieren, die nur innerhalb des Moduls verfügbar sind, in dem die Deklaration durchgeführt wird.
varname Erforderlich. Name des benutzerdefinierten Typs; folgt Standardnamenskonventionen für Variablen.
Elementname Erforderlich. Name eines Elements des benutzerdefinierten Typs. Elementnamen folgen ebenfalls Standardnamenskonventionen für Variablen, allerdings können Schlüsselwörter verwendet werden.
subscripts Wenn sie nicht explizit in lower angegeben ist, wird die Untergrenze eines Arrays durch die Option Base-Anweisung gesteuert. Die Untergrenze ist Null, wenn keine Option Base-Anweisung vorhanden ist.
type Erforderlich. Datentyp des Elements; Kann Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (derzeit nicht unterstützt), Date, String (für Zeichenfolgen variabler Länge), Zeichenfolgenlänge (für Zeichenfolgen mit fester Länge), Object, Variant, ein anderer benutzerdefinierter Typ oder ein Objekttyp sein.

HinwBemerkungeneise

Die Type-Anweisung kann nur auf Modulebene verwendet werden. Nachdem Sie einen benutzerdefinierten Typ mithilfe der Type-Anweisung deklariert haben, können Sie eine Variable dieses Typs an einer beliebigen Stelle innerhalb des Bereichs der Deklaration deklarieren. Verwenden Sie Dim, Private, Public, ReDim oder Static, um eine Variable eines benutzerdefinierten Typs zu deklarieren.

In Standardmodulen und Klassenmodulen sind benutzerdefinierte Typen standardmäßig öffentlich. Diese Sichtbarkeit kann mithilfe des Schlüsselworts Private geändert werden.

Zeilennummern und Zeilenmarken sind in Type...End Type-Blocks nicht zulässig.

Benutzerdefinierte Typen werden häufig mit Datensätzen verwendet. Diese bestehen oft aus einigen Elementen unterschiedlicher Datentypen.

Das folgende Beispiel zeigt die Verwendung von Arraays mit fester Größe in einem benutzerdefinierten Typ:

Type StateData 
    CityCode (1 To 100) As Integer    ' Declare a static array. 
    County As String * 30 
End Type 
 
Dim Washington(1 To 100) As StateData 

Im vorherigen Beispiel StateData schließt das CityCode statische Array ein, und der Datensatz Washington hat die gleiche Struktur wie StateData.

Wenn Sie ein Array mit fester Größe innerhalb eines benutzerdefinierten Typs deklarieren, müssen seine Abmessungen mit numerischen Literalen oder Konstanten anstelle von Variablen deklariert werden.

Beispiel

In diesem Beispiel wird die Type -Anweisung verwendet, um einen benutzerdefinierten Datentyp zu definieren. Die Type -Anweisung wird nur auf Modulebene verwendet. Wenn eine Type -Anweisung in einem Klassenmodul erscheint, muss ihr das Schlüsselwort Private vorangestellt werden.

Type EmployeeRecord    ' Create user-defined type. 
    ID As Integer    ' Define elements of data type. 
    Name As String * 20 
    Address As String * 30 
    Phone As Long 
    HireDate As Date 
End Type 
Sub CreateRecord() 
    Dim MyRecord As EmployeeRecord    ' Declare variable. 
 
    ' Assignment to EmployeeRecord variable must occur in a procedure. 
    MyRecord.ID = 12003    ' Assign a value to an element. 
End Sub

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.