VBA Set-Anweisung

Excel VBA Set-Anweisung

VBA Set ist eine Anweisung, mit der ein beliebiger Wertschlüssel zugewiesen wird, der ein Objekt oder einen Verweis auf eine Variable angibt. Mit dieser Funktion definieren wir den Parameter für eine bestimmte Variable, z. B. wenn wir Set M = A schreiben, was jetzt M bedeutet Die Referenz hat dieselben Werte und Attribute wie A.

In VBA ist ein Objekt ein Kern des Excel, da wir ohne Objekte nichts tun können. Objekte sind Arbeitsmappe, Arbeitsblatt und Bereich. Wenn wir eine Variable deklarieren, müssen wir ihr einen Datentyp zuweisen, und wir können Objekte auch als Datentypen zuweisen. Um deklarierten Objektvariablen einen Wert zuzuweisen, müssen wir das Wort „SET“ verwenden. Das Wort "Set" bezieht sich auf ein neues Objekt in VBA, z. B. auf den bestimmten Bereich des jeweiligen Arbeitsblatts.

Wie verwende ich die Excel VBA Set-Anweisung?

Sie können diese VBA Set Statement-Vorlage hier herunterladen - VBA Set Statement-Vorlage

# 1 - Set-Anweisung mit Bereichsobjektvariablen

Angenommen, Sie möchten den Bereich A1 bis D5 häufig verwenden. Anstatt den Code jedes Mal als Bereich („A1: D5“) zu schreiben, können wir die Variable als Bereich deklarieren und die Bereichsreferenz als Bereich („A1: D5“) festlegen.

Schritt 1: Deklarieren Sie die Variable als Range-Objekt.

Code:

 Sub Set_Example ()

Dim MyRange As Range

End Sub

Schritt 2: In dem Moment, in dem wir den Datentyp als Bereich zuweisen, verwenden Sie das Wort "Set".

Code:

 Sub Set_Example () Dim MyRange As Range Set MyRange = End Sub 

Schritt 3: Erwähnen Sie nun den Bereich.

Code:

 Sub Set_Example () MyRange als Bereich dimmen Set MyRange = Range ("A1: D5") End Sub 

Schritt 4: Jetzt entspricht die Variable „MyRange“ dem Bereich A1 bis D5. Mit dieser Variablen können wir auf alle Eigenschaften und Methoden dieses Bereichs zugreifen.

Wir können kopieren, einen Kommentar in Excel hinzufügen und viele andere Dinge tun.

Zum Beispiel habe ich hier einige Zahlen erstellt.

Mit der Variablen ändere ich nun die Schriftgröße auf 12.

Code:

 Sub Set_Example () MyRange als Bereich dimmen Set MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub 

Dadurch wird die Schriftgröße des zugewiesenen Bereichs geändert.

Auf diese Weise können wir viele Dinge mit einem bestimmten Bereich tun, indem wir das Wort „Set“ verwenden.

# 2 - Set-Anweisung mit Arbeitsblatt-Objektvariablen

Wir haben gesehen, wie "set" mit einem Bereichsobjekt in VBA funktioniert. Es funktioniert genauso wie das Arbeitsblattobjekt.

Angenommen, Sie haben 5 Arbeitsblätter in Ihrer Arbeitsmappe und möchten weiterhin zu einem bestimmten Arbeitsblatt zurückkehren. Sie können diesen Arbeitsblattnamen auf die definierte Objektvariable setzen.

Schauen Sie sich zum Beispiel den folgenden Code an.

Code:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Zusammenfassungsblatt") End Sub 

Im obigen Code wird die Variable "Ws" als Objektvariable definiert, und in der nächsten Zeile setzen wir die Variable mit dem Wort "Set" auf das Arbeitsblatt "Summary Sheet".

Mit dieser Variablen können wir nun alle damit verbundenen Dinge tun. Schauen Sie sich die folgenden zwei Codesätze an.

# 1 - Ohne "Set" Word

Code:

 Sub Set_Worksheet_Example1 () 'Zum Auswählen der Blattarbeitsblätter ("Zusammenfassungsblatt"). Wählen Sie' Zum Aktivieren der Blattarbeitsblätter ("Zusammenfassungsblatt"). Aktivieren 'Zum Ausblenden der Blattarbeitsblätter ("Zusammenfassungsblatt"). Visible = xlVeryHidden' To Blenden Sie die Arbeitsblätter des Blattes ein ("Zusammenfassungsblatt"). Visible = xlVisible End Sub 

Jedes Mal, wenn ich das Arbeitsblattobjekt verwendet habe, verweise ich auf das Blatt „Zusammenfassungsblatt“. Dies macht den Code so langwierig und erfordert viel Zeit zum Eingeben.

Als Teil des riesigen Codes ist es frustrierend, den Arbeitsblattnamen jedes Mal so einzugeben, wenn Sie auf das Arbeitsblatt verweisen müssen.

Schauen Sie sich nun den Vorteil der Verwendung des Wortes Set in Code an.

# 2 - Mit "Set" Word

Code:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Arbeitsblätter ("Zusammenfassungsblatt") 'So wählen Sie das Blatt aus Ws.Select' So aktivieren Sie das Blatt Ws.Activate 'So blenden Sie das Blatt Ws.Visible = xlVeryHidden' So blenden Sie das Blatt Ws aus .Visible = xlVisible End Sub 

Sobald wir den Arbeitsblattnamen festgelegt haben, können wir den Variablennamen sehen, während wir den Code als Teil der Liste eingeben.

# 3 - Festlegen einer Anweisung mit Arbeitsmappenobjektvariablen

Der eigentliche Vorteil des Wortes "Set" in VBA ergibt sich, wenn wir auf verschiedene Arbeitsmappen verweisen müssen.

When we work with different workbooks it is so hard to type in the full name of the workbook along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

 Sub Set_Workbook_Example1() Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks("Sales Summary File 2019.xlsx") End Sub 

Now variable Wb1 is equal to the workbook named “Sales Summary File 2018.xlsx” and variable Wb2 is equal to the workbook named “Sales Summary File 2019.xlsx”.

Using this variable we can actually access all the properties and methods associated with the workbook.

We can shorten the code like the below.

Without Using Set Keyword to activate the workbook:

Workbooks("Sales Summary File 2018.xlsx").Activate

Using the Set Keyword to activate the workbook:

Wb1.Activate

This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.