Excel VBA Set

"Set" ist ein Schlüsselwort, das in der VBA-Programmierung verwendet wird, um einen Verweis auf ein Objekt oder einen Zellbereich zuzuweisen, der im gesamten Programm oder Code in Excel festgehalten wird. VBA Set hilft uns grundsätzlich dabei, die wiederholte Eingabe des Bereichs zu vermeiden, den wir während der Ausführung des Codes auswählen müssen. In Excel wird "Festlegen" meist auf Arbeitsblätter / Zellbereiche in einem bestimmten Blatt angewendet.

Syntax:

Setze Objektname / Variable = Objekt / Bereich

Hinweis: Das Excel-Arbeitsblatt muss die Registerkarte Entwickler enthalten.

Wenn die Registerkarte "Entwickler" in Excel nicht angezeigt wird, führen Sie die folgenden Schritte aus:

Schritt 1: Klicken Sie auf Dateioption.

Schritt 2: Das Dropdown-Menü wird angezeigt. Klicken Sie auf die Registerkarte Optionen .

Schritt 3: Sobald Sie auf "Optionen" geklickt haben, erscheint ein Dialogfeld wie unten gezeigt und klicken Sie auf die Option " Farbband anpassen".

Schritt 4: Wenn Sie die Optionen für die benutzerdefinierte Multifunktionsleiste nach unten ziehen, finden Sie eine Option für Entwickler, die Sie aktivieren müssen, um VBA in Excel verwenden zu können.

Wie verwende ich ein Set-Schlüsselwort in VBA?

Im Folgenden sind die verschiedenen Beispiele für die Verwendung des Schlüsselworts set in Excel VBA aufgeführt.

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

Excel VBA Set - Beispiel # 1

Wir nehmen ein einfaches Beispiel für ein Set-Schlüsselwort in Excel VBA. Angenommen, wir möchten einen Bereich auswählen und als festen Bereich festlegen, um Wiederholungen zu vermeiden. Unten ist der Zellbereich mit den Namen:

Führen Sie die folgenden Schritte aus, um das gesetzte Schlüsselwort in Excel VBA zu verwenden:

Schritt 1: Klicken Sie auf die Registerkarte "Entwickler" und dann auf die Option "Visual Basic" auf der linken Seite (erste Option), wie unten gezeigt.

Sobald Sie darauf klicken, erscheint ein neues Fenster wie unten gezeigt:

Sie werden feststellen, dass es auf der linken Seite zwei Registerkarten enthält, "Sheet1 (Sheet1)" und "ThisWorkbook". Der einzige Unterschied ist "Sheet1", wenn Sie Code nur für dieses bestimmte Blatt ausführen möchten, und in "ThisWorkbook" können wir einen Code schreiben und ausführen, der für die gesamte Excel-Arbeitsmappe angewendet werden kann.

Schritt 2: Doppelklicken Sie auf „Sheet1 (Sheet1)“ und Sie sehen einen leeren Bildschirm, auf dem wir den Code schreiben müssen. Deklarieren Sie zunächst eine Teilmenge als Subname und drücken Sie die Eingabetaste. Daraufhin wird eine Teilmenge wie folgt erstellt:

Code:

 Sub setexmp () End Sub 

Auf diese Weise erstellen wir eine Teilmenge und automatisch wird „End Sub“ angezeigt. Dies ist eine Standardfunktion von Excel. Wenn "End Sub" nicht angezeigt wird, wird der Code nicht ausgeführt und es wird ein Fehler ausgegeben.

Schritt 3: Jetzt werden wir Variablen deklarieren, die im Code verwendet werden sollen.

Geben Sie Dim Variablenname und Variablentyp ein. Hier entspricht der Name der Identität des Bereichs, und der Typ lautet, ob Integer, Long, String, Range usw.

Code:

 Sub setexmp () Dim Rnst As Range End Sub 

Hier ist „Rnst“ ein Variablenname und weist ihn der Range-Funktion zu. Dies macht das System darauf aufmerksam, dass eine Bereichsauswahl durchgeführt werden würde.

Schritt 4: Geben Sie dann das Schlüsselwort "Set" ein und geben Sie einen Bereich im folgenden Format an: Set variable = Range ("cell range") .

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") End Sub 

Schritt 5: Wir müssen diesen angegebenen Zeilenbereich auswählen. Geben Sie daher select als Rnst ein. Select Siehe Abbildung unten:

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst. Select End Sub 

Schritt 6: Führen Sie den Code durch Drücken von F5 oder Ausführen aus und sehen Sie sich die Ausgabe an.

Der angegebene Bereich wird in den Zellen A2 bis A11 ausgewählt.

Excel VBA Set - Beispiel # 2

Angenommen, wir möchten diese Zellen oder Bereiche in eine andere Zelle einfügen. Wir werden den gleichen Code wie oben verwenden und Code zum Einfügen dieser Daten in mehrere Spalten hinzufügen.

Befolgen Sie die folgenden Schritte:

Schritt 1: Jetzt kopieren wir den Zellenbereich, der der Namensspalte entspricht. Geben Sie copy ein, z. B. "Rnst.Copy". Wenn Sie "Rnst" eingeben, wird eine Art Dropdown-Liste angezeigt. Es enthält verschiedene Funktionen wie Kopieren, Einfügen usw.

Schritt 2: Sie können nach unten scrollen und die gewünschte Funktion auswählen, die Sie ausführen möchten. Geben Sie hier einfach "Kopieren" ein, wie im folgenden Screenshot gezeigt:

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst. Select Rnst.Copy End Sub 

Schritt 3: Kompilieren Sie den Code, indem Sie die Taste F8 drücken.

Sobald Sie diese Kopierfunktion ausführen, werden Sie feststellen, dass der Bereich in Excel kopiert wird und gepunktete Linien um den Zellbereich herum erscheinen, wie unten gezeigt:

Schritt 4: Jetzt müssen wir diese Zellen einfügen, z. B. nacheinander in benachbarte Spalten. Daher müssen wir eine Schleifenfunktion „For“ verwenden und davon ausgehen, dass wir fünfmal einfügen müssen, damit wir sie wie folgt eingeben:

Für Integer i = 1 bis 5 -> gibt an, wie oft die Daten eingefügt werden müssen. Wenn 5, dann 1 bis 5, je nachdem, was Sie bevorzugen.

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 To 5 End Sub 

Schritt 5: Wählen Sie eine Zelle aus, in die Sie diesen Zellbereich einfügen möchten. Angenommen, wir möchten mit dem Einfügen ab Spalte B2 beginnen und dann sollten die Daten dynamisch eingefügt werden, dh es sollten automatisch nacheinander benachbarte Spalten ohne Überlappung ausgewählt werden. Daher würde die Syntax "Cell (Zeilennummer, Spaltennummer) .PasteSpecial" lauten.

Cells (2, i + 1) .PasteSpecial, hier steht 2-> für die Zeilennummer und i + 1 -> für die Spaltennummer. i + 1 bedeutet, dass der erste Wert von I, der in der For-Schleife deklariert wurde, i = 1 ist. Daher wird der Spaltenwert zu 2. Dies gibt an, dass ab Spalte B eingefügt wird. Wenn der i-Wert zunimmt, werden weiterhin benachbarte Spalten ausgewählt Einer nach dem anderen.

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 bis 5 Cells (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Schritt 6: Geben Sie " Next i " ein. Dies bedeutet, dass Sie den Wert von "i" nacheinander erhöhen, damit das Einfügen der Spalten dynamisch bleibt.

Code:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 bis 5 Cells (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Schritt 7: Drücken Sie "F8", um den Code Zeile für Zeile auszuführen und das Einfügen von Zellen in benachbarte Spalten nacheinander anzuzeigen.

Hier sehen Sie, dass der Wert von i 1 ist und die Daten wie gewünscht in Spalte B eingefügt wurden.

Schritt 8: Wenn Sie jetzt erneut "F8" drücken, sehen Sie, dass jetzt der Wert von i 2 ist. Daher wird 2 + 1 zu 3 und die Daten werden in Zelle (2, 3) eingefügt, dh der Zeilenwert ist der gleiche, aber die Spalte Die Anzahl ändert sich wie im Screenshot unten gezeigt:

Nach Abschluss der wiederholten Schleife werden die Daten fünfmal eingefügt, dh von 1 bis 5, beginnend mit dem Einfügen von Spalte B bis Spalte F, wie unten gezeigt:

Excel VBA Set - Beispiel # 3

Angenommen, wir möchten die Anzahl der Zellen in diesem Bereich in einem Meldungsfeld anzeigen, das beim Klicken auf eine Schaltfläche angezeigt wird. Wir nehmen die gleichen Daten wie unten gezeigt.

Außerdem führen wir den Code dieses Beispiels im neuen Arbeitsblatt aus. Fügen Sie daher ein neues Blatt hinzu, und im VBA-Fenster wird Folgendes angezeigt:

Wir müssen eine Befehlsschaltflächenoption einfügen. Dies ist eine Funktion von Excel. Befolgen Sie daher die folgenden Schritte:

Schritt 1: Geben Sie einen Teilmengennamen ein, z. B. "Setcount ()" (siehe Abbildung unten):

Code:

 Sub Setcount () End Sub 

Schritt 2: Deklarieren Sie dieselbe Variable "Rnct" als Bereich in der Teilmenge, wie im folgenden Screenshot gezeigt:

Code:

 Sub Setcount () Dim Rnct As Range End Sub 

Schritt 3: Geben Sie dann das Schlüsselwort "Set" ein und geben Sie einen Bereich an.

Code:

 Sub Setcount () Dim Rnct As Range Set Rnct = Bereich ("A2: A11") End Sub 

Schritt 4: Nachdem Sie den Bereich festgelegt haben, müssen Sie ein Popup-Feld oder ein Dialogfeld anzeigen, in dem die Anzahl der Zellen im Bereich angezeigt wird. Verwenden Sie daher die Funktion „MsgBox“, bei deren Ausführung eine Zählung im Dialogfeld angezeigt wird. Geben Sie "MsgBox variable name.count" ein. Sobald Sie den Variablennamen und dann den Punkt (.) Eingegeben haben, wird ein Dropdown-Menü mit verschiedenen Funktionen angezeigt. Wählen Sie "count" oder geben Sie "count" manuell ein.

Geben Sie "MsgBox Rnct.count" ein, und bei der Ausführung wird count angezeigt.

Schritt 5: Nun wollen wir eine Befehlsschaltfläche einfügen und beim Klicken auf diese Schaltfläche sollte das Meldungsfeld erscheinen.

Klicken Sie auf "Einfügen" in der Registerkarte "Entwickler", wie im roten Feld hervorgehoben, und Sie sehen ein Dropdown-Menü der Kategorie "Formularsteuerelemente". Klicken Sie auf die erste rechteckige Form, die Sie manuell zeichnen und in das Excel-Blatt einfügen müssen:

Schritt 6: Wenn Sie auf das Rechteckfeld klicken, zeichnen Sie das Feld und fügen es in das Blatt ein. Sobald Sie mit dem Zeichnen beginnen, wird ein Dialogfeld wie unten gezeigt angezeigt. Es ist eine Schaltfläche im Fenster „Makro zuweisen“ und wählen Sie das Teilmengenmakro „Setcount“. Klicken Sie auf "OK".

Dies bedeutet, dass wir dieser Schaltfläche ein Zählmakro zugewiesen haben. Und beim Klicken wird es ausgeführt.

Schritt 7: Es wird wie unten in Excel angezeigt.

Schritt 8: Klicken Sie mit der rechten Maustaste darauf und benennen Sie es mit der Option " Text bearbeiten " um (siehe unten):

Schritt 9: Geben Sie ihm einen Namen als "COUNT" und Sie werden es in Excel als Anzahl wie unten gezeigt sehen.

Schritt 10: Klicken Sie dann auf die Schaltfläche "COUNT": Sobald Sie auf die Schaltfläche "COUNT" klicken, wird das folgende Meldungsfeld angezeigt:

Wie wir sehen, gibt es 10 Namen, die die richtige Nummer im Bereich von A2 bis A11 angegeben haben.

Dinge, an die man sich erinnern sollte

  • Stellen Sie sicher, dass Sie die Registerkarte "Entwickler" in Excel-Menübändern eingefügt haben, um diese VBA-Codes auszuführen.
  • "Festlegen" wird meistens auf Arbeitsblätter / Zellbereiche in einem bestimmten Blatt angewendet.

Empfohlene Artikel

Dies ist eine Anleitung zum VBA-Set. Hier wird erläutert, wie Sie einem Objekt oder einem Zellbereich mithilfe des Excel-VBA-Set-Schlüsselworts einen Verweis zuweisen. Außerdem werden praktische Beispiele und eine herunterladbare Excel-Vorlage vorgestellt. Im Folgenden finden Sie einige nützliche Excel-Artikel zu VBA -

  1. VBA-Verkettungsfunktion
  2. Tutorials zu Excel-Symbolsätzen
  3. Arbeiten mit Range Cells in VBA
  4. Lösen Sie die Gleichung in Excel

Kategorie: