Wie verwende ich die Set-Anweisung in VBA?

In VBA (Visual Basic for Applications) wird die `Set`-Anweisung verwendet, um Objektreferenzen zuzuweisen. Dies ist wichtig, da VBA zwischen simplen Datentypen (wie Integer, String usw.) und Objekttypen (wie Range, Worksheet, Workbook usw.) unterscheidet. Während bei den meisten Datentypen eine einfache Zuweisung mit dem Gleichheitszeichen (`=`) ausreicht, benötigen Objekttypen die `Set`-Anweisung, um sie korrekt zuzuweisen. Hier sind einige Beispiele zur Veranschaulichung:

Beispiel: Zuweisung eines Range-Objekts

Dim rng As Range
Set rng = Worksheets("Tabelle1").Range("A1")

In diesem Beispiel wird eine `Range`-Variable namens `rng` deklariert und auf die Zelle A1 auf dem Arbeitsblatt “Tabelle1” gesetzt.

Beispiel: Zuweisung eines Worksheet-Objekts

Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Tabelle1")

Hier wird ein `Worksheet`-Objekt auf das Arbeitsblatt “Tabelle1” im aktuellen Workbook gesetzt.

Beispiel: Zuweisung eines Workbook-Objekts

Dim wb As Workbook
Set wb = Workbooks.Open("C:PfadzuIhrerDatei.xlsx")

Dies öffnet eine Arbeitsmappe aus einem bestimmten Pfad und weist sie der `wb`-Variablen zu.

Beachten Sie:

  Set rng = Nothing
  • Set ist nur für Objekte erforderlich. Bei Variablen, die keine Objektreferenzen sind (wie Integer, String etc.), benötigen Sie kein `Set`.
  • Wenn Sie eine Objektvariable zurücksetzen oder leeren möchten, können Sie `Set` verwenden, um dem Objekt `Nothing` zuzuweisen:

Durch das Zuweisen von `Nothing` wird die Objektvariable von der Referenz auf das Objekt getrennt, wodurch der von dem Objekt belegte Speicher freigegeben werden kann, sofern keine anderen Referenzen auf dasselbe Objekt vorhanden sind.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project