Freigeben über


Private-Anweisung

Wird auf Modulebene verwendet, um private Variablen zu deklarieren und Speicherplatz zuzuweisen.

Syntax

Private [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]
[ , [ WithEvents ] varname [ ( [ subscripts ] ) ] [ As [ New ] type ]] . . .

Die Anweisungssyntax Private hat folgende Teile:

Teil Beschreibung
WithEvents Optional. Schlüsselwort, das angibt, dass varname eine Objektvariable ist, die zur Reaktion auf von einem ActiveX-Objekt ausgelöste Ereignisse ist. WithEvents ist nur in Klassenmodulen gültig. Sie können beliebig viele einzelne Variablen mit WithEvents deklarieren, aber Sie können keine Arrays mit WithEvents erstellen und auch nicht New mit WithEvents verwenden.
varname Erforderlich. Name der Variablen; folgt standardmäßigen Konventionen für die Variablenbenennung.
subscripts Optional. Dimensionen einer Arrayvariablen; es können bis zu 60 Dimensionen deklariert werden. Das Argument subscripts verwendet die folgende Syntax:

[ lowerTo ] upper [ , [ lowerTo ] upper ] . . .

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.
New Optional. Schlüsselwort, das die implizite Erstellung eines Objekts ermöglicht. Wenn Sie New beim Deklarieren der Objektvariablen verwenden, wird beim ersten Verweis darauf eine neue Instanz des Objekts erstellt. Somit müssen Sie nicht die Set-Anweisung verwenden, um den Objektverweis zuzuweisen. Das Schlüsselwort New kann nicht verwendet werden, um Variablen eines systeminternen Datentyps zu deklarieren. Es kann auch nicht verwendet werden, um Instanzen abhängiger Objekte zu deklarieren, und es kann nicht mit WithEvents verwendet werden.
type Optional. Datentyp der Variablen; 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 benutzerdefinierter Typ oder ein Objekttyp sein. Verwenden Sie eine eigene Astype-Klausel für jede definierte Variable.

HinwBemerkungeneise

Private Variablen sind nur für das Modul verfügbar, in dem sie deklariert werden.

Verwenden Sie die Private -Anweisung, um den Datentyp einer Variablen zu deklarieren. Die folgende Anweisung deklariert beispielsweise eine Variable als ganze Zahl:

Private NumberOfEmployees As Integer 

Sie können eine Private -Anweisung auch verwenden, um den Objekttyp einer Variablen zu deklarieren. Mit der folgenden Anweisung wird eine Variable für eine neue Instanz eines Arbeitsblatts deklariert:

Private X As New Worksheet 

Wenn das Schlüsselwort New beim Deklarieren einer Objektvariablen nicht verwendet wird, muss der Variablen, die auf das Objekt verweist, mithilfe der Set-Anweisung ein vorhandenes Objekt zugewiesen werden, bevor es verwendet werden kann. Die deklarierte Objektvariable hat bis zum Zuweisen eines Objekts den speziellen Wert Nothing, der angibt, dass sie auf keine bestimmte Instanz eines Objekts verweist.

Wenn Sie keinen Datentyp oder Objekttyp angeben und keine Deftype-Anweisung im Modul vorhanden ist, ist die Variable standardmäßig Variant .

Sie können die Private -Anweisung auch mit leeren Klammern verwenden, um ein dynamisches Array zu deklarieren. Verwenden Sie nach dem Deklarieren eines dynamischen Arrays die ReDim-Anweisung in einer Prozedur, um die Anzahl der Dimensionen und Elemente in dem Array zu definieren. Wenn Sie versuchen, eine Dimension für eine Arrayvariable, deren Größe explizit in einer Private-, Public- oder Dim-Anweisung angegeben wurde, neu zu definieren, tritt ein Fehler auf.

Beim Initialisieren der Variablen werden numerische Variablen als 0, Zeichenfolgen mit variabler Länge als Zeichenfolge der Länge null ("") und Zeichenfolgen mit fester Länge als mit Nullen angefüllte Zeichenfolge initialisiert. Variant -Variablen werden auf Empty initialisiert. Jedes Element einer Variable mit benutzerdefiniertem Typ wird wie eine einzelne Variable initialisiert.

Hinweis

Die Private-Anweisung kann nicht innerhalb einer Prozedur verwendet werden. Verwenden Sie die Dim-Anweisung , um lokale Variablen zu deklarieren.

Beispiel

Dieses Beispiel zeigt die Verwendung der Private-Anweisung auf Modulebene zur Deklarierung von Variablen als privat; dies bedeutet, dass sie nur für das Modul verfügbar sind, in dem sie deklariert werden.

Private Number As Integer ' Private Integer variable. 
Private NameArray(1 To 5) As String ' Private array variable. 
' Multiple declarations, two Variants and one Integer, all Private. 
Private MyVar, YourVar, ThisVar As Integer 

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.