Public-Anweisung

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

Syntax

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

Die Syntax der Public-Anweisung umfasst die folgenden Teile:

Teil Beschreibung
WithEvents Optional. Schlüsselwort , das angibt, dass varname eine Objektvariable ist, die verwendet wird, um auf Ereignisse zu reagieren, die von einem ActiveX-Objekt ausgelöst werden. 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 Variable; folgt den Standard-Benennungskonventionen.
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

Variablen, die mit der Public-Anweisung deklariert werden, sind für alle Prozeduren in allen Modulen in allen Anwendungen verfügbar, es sei denn , option Private Module ist aktiv; In diesem Fall sind die Variablen nur innerhalb des Projekts öffentlich, in dem sie sich befinden.

Die Public -Anweisung kann nicht in einem Klassenmodul zum Deklarieren einer Zeichenfolgenvariable mit fester Länge verwendet werden.

Verwenden Sie die Public -Anweisung zum Deklarieren des Datentyps einer Variable. Mithilfe der folgenden Anweisung wird beispielsweise eine Variable als Ganzzahl deklariert:

Public NumberOfEmployees As Integer 

Verwenden Sie zudem eine Public -Anweisung zum Deklarieren des Objekttyps einer Variable. Mit der folgenden Anweisung wird eine Variable für eine neue Instanz eines Arbeitsblatts deklariert:

Public X As New Worksheet 

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

Sie können die Public -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.

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

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. Die einzelnen Elemente einer Variable eines benutzerdefinierten Typs werden so initialisiert, als würde es sich um separate Variablen handeln.

Beispiel

In diesem Beispiel wird die Public-Anweisung auf Modulebene (Abschnitt "Allgemein") eines Standardmoduls verwendet, um Variablen explizit als öffentlich zu deklarieren. Demnach sind sie für alle Prozeduren in allen Modulen sämtlicher Anwendungen verfügbar, es sei denn, das optionale private Modul ist aktiviert.

Public Number As Integer ' Public Integer variable. 
Public NameArray(1 To 5) As String ' Public array variable. 
' Multiple declarations, two Variants and one Integer, all Public. 
Public 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.