VBA-Programmierung in Microsoft Excel

Tutorial: Excel-Beispiele

VBA-Begriff: Property Let-Anweisung

Deklariert den Namen, die Argumente und den Code für den Rumpf einer Property Let-Prozedur, die einer Eigenschaft einen Wert zuweist.

Syntax

[Public | Private] [Static] Property Let Name ([ArgListe,] Wert)
[Anweisungen]
[Exit Property]
[Anweisungen]

End Property

Die Syntax der Property Let-Anweisung besteht aus folgenden Teilen:

Teil Beschreibung
Public Optional. Auf die Property Let-Prozedur kann von allen anderen Prozeduren in allen Modulen zugegriffen werden. Bei Verwendung in einem Modul (mit einer Option Private-Anweisung) kann auf die Prozedur nur innerhalb des Projekts zugegriffen werden.
Private Optional. Auf die Property Let-Prozedur kann nur durch andere Prozeduren in dem Modul zugegriffen werden, in dem sie deklariert wurde.
Static Optional. Die lokalen Variablen der Property Let-Prozedur bleiben zwischen Aufrufen erhalten. Das Attribut Static wirkt sich nicht auf Variablen aus, die außerhalb der Property Let-Prozedur deklariert wurden, auch wenn sie in der Prozedur verwendet werden.
Name Erforderlich. Name der Property Let-Prozedur gemäß den Standardkonventionen für Namen von Variablen, mit der Ausnahme, daß der Name mit dem Namen einer Property Get- oder Property Set-Prozedur in demselben Modul übereinstimmen kann.
ArgListe Erforderlich. Variablenliste mit den Argumenten, die an die Property Let-Prozedur beim Aufruf übergeben werden. Mehrere Argumente werden durch Kommas voneinander getrennt. Name und Datentyp aller Argumente einer Property Let-Prozedur (außer dem letzten Argument) müssen mit Name und Datentyp der entsprechenden Argumente in einer Property Get-Prozedur übereinstimmen.
Wert Erforderlich. Variable, die den Wert enthält, der der Eigenschaft zugewiesen werden soll. Wenn die Prozedur aufgerufen wird, wird dieses Argument auf der rechten Seite des aufrufenden Ausdrucks angezeigt. Der Datentyp von Wert muß mit dem Rückgabetyp der entsprechenden Property Get-Prozedur übereinstimmen.
Anweisungen Optional. Eine beliebige Gruppe auszuführender Anweisungen im Rumpf der Property Let-Prozedur.

Das Argument ArgListe verwendet die folgende Syntax und die folgenden Teile:

[Optional] [ByVal | ByRef] [ParamArray] VarName[( )] [As Typ] [= Standardwert]

Teil Beschreibung
Optional Optional. Ein Argument ist nicht erforderlich. Alle im Anschluß an Optional in ArgListe angegebenen Argumente müssen ebenfalls optional sein und mit dem Schlüsselwort Optional deklariert sein. Beachten Sie, daß der rechte Teil eines Property Let-Ausdrucks nicht Optional sein kann.
ByVal Optional. Das Argument wird als Wert übergeben.
ByRef Optional. Das Argument wird als Referenz übergeben. ByRef ist die Voreinstellung in Visual Basic.
ParamArray Optional. Wird nur als letztes Argument in ArgListe verwendet, um anzuzeigen, daß das letzte Argument ein Optional-Datenfeld mit Variant-Elementen ist. Das Schlüsselwort ParamArray ermöglicht Ihnen, eine beliebige Anzahl von Argumenten bereitzustellen. ParamArray darf nicht zusammen mit ByVal, ByRef oder Optional verwendet werden.
VarName Erforderlich. Name der Variablen, die das Argument darstellt, gemäß den Standardkonventionen für Namen von Variablen.
Typ Optional. Datentyp des an die Prozedur zu übergebenden Arguments. Zulässige Typen sind: Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (zur Zeit nicht unterstützt), Date, String (nur Zeichenfolgen variabler Länge), Object, Variant. Ist der Parameter nicht Optional, kann auch ein benutzerdefinierter Typ oder ein Objekttyp angegeben werden.
Standardwert Optional. Eine beliebige Konstante oder ein Konstantenausdruck. Nur gültig, wenn der Parameter Optional entspricht. Ist der Typ Object, so kann der explizite Standardwert nur Nothing sein.

Anmerkung   Jede Property Let-Anweisung muß mindestens ein Argument für die definierte Prozedur angeben. Dieses Argument (bzw. das letzte Argument in einer Liste von Argumenten) enthält dann den Wert, der der Eigenschaft tatsächlich zugewiesen wird, wenn die durch Property Let definierte Prozedur aufgerufen wird. In der weiter oben beschriebenen Syntax wird dieses Argument mit Wert bezeichnet.

Bemerkungen

Property-Prozeduren sind standardmäßig öffentlich, wenn sie nicht explizit mit Public oder Private festgelegt werden. Wird Static nicht angegeben, so bleiben die Werte lokaler Variablen zwischen den Aufrufen nicht erhalten.

Der gesamte ausführbare Code muß sich in Prozeduren befinden. Innerhalb einer Property-, Sub- oder Function-Prozedur kann keine Property Let-Prozedur definiert werden.

Die Exit Property-Anweisung führt zum unmittelbaren Verlassen einer Property Let-Prozedur. Die Programmausführung wird mit der Anweisung fortgesetzt, die auf die Anweisung mit dem Aufruf der Property Let-Prozedur folgt. Exit Property-Anweisungen können beliebig oft an beliebigen Stellen innerhalb einer Property Let-Prozedur verwendet werden.

Wie bei der Function- und Property Get-Prozedur handelt es sich bei der Property Let-Prozedur um eine eigenständige Prozedur, die Argumente erhalten, eine Reihe von Anweisungen ausführen und die Werte der übergebenen Argumente ändern kann. Im Gegensatz zu Function- und Property Get-Prozedur, die beide einen Wert zurückgeben, kann eine Property Let-Prozedur nur auf der linken Seite einer Let-Anweisung oder eines Ausdrucks zum Zuweisen einer Eigenschaft stehen.