Excel VBA-Variable im Bereich
Variablen sind das Herz und die Seele eines großen VBA-Projekts, da Variablen Herz und Seele sind. Daher ist auch die Art des Datentyps, den wir ihnen zuweisen, ein sehr wichtiger Faktor in dieser Hinsicht. In unseren vielen früheren Artikeln haben wir viele Male über Variablen und ihre Bedeutung für den Datentyp gesprochen. Eine solche Variable und ein solcher Datentyp ist "Bereichsvariable" in diesem speziellen Artikel. Wir werden eine vollständige Anleitung zu „Range Variable“ in Excel VBA geben.
Was ist eine Bereichsvariable in Excel VBA?
Wie jeder andere Variablenbereich in VBA ist auch die Variable eine Variable, aber es ist eine „Objektvariable“, mit der wir die Referenz des spezifischen Zellbereichs festlegen.
Wie bei jeder anderen Variablen können wir der Variablen einen beliebigen Namen geben, aber der Datentyp, den wir ihnen zuweisen, sollte ein "Bereich" sein. Sobald der Datentyp der Variablen zugewiesen wurde, wird er zu einer „Objektvariablen“. Im Gegensatz zu einer anderen Variablen können wir die Variable erst verwenden, wenn wir bei Objektvariablen die Referenz von Objekten festlegen.
Nachdem wir die Variable deklariert haben, müssen wir das Schlüsselwort "SET" verwenden , um die Objektreferenz festzulegen, in diesem Fall das Range-Objekt.
Ok, jetzt werden wir einige Beispiele für Excel-VBA-Bereichsvariablen praktisch sehen.

Beispiele für Bereichsvariablen in Excel VBA
Angenommen, Sie möchten den Zellenbereich von A2 bis B10 für das folgende Screenshotbild auswählen.

Um diesen erwähnten Zellbereich auszuwählen, haben wir alle diese Zellen, während wir das RANGE-Objekt haben, und innerhalb des Bereichsobjekts die Zellenadresse in doppelten Anführungszeichen erwähnt.
Code:
Sub Range_Variable_Example () Range ("A2: B10") End Sub

Sobald der Zellbereich mithilfe des RANGE-Objekts erwähnt wird, werden bei einem Punkt alle Eigenschaften und Methoden angezeigt, die diesem Bereichsobjekt zugeordnet sind.
Code:
Sub Range_Variable_Example () Range ("A2: B10"). End Sub

Da wir die genannten Zellen einfach auswählen müssen, wählen Sie die Methode „Select“ aus der IntelliSense-Liste.
Code:
Sub Range_Variable_Example () Range ("A2: B10"). Wählen Sie End Sub

Führen Sie den Code aus und es werden die genannten Zellen ausgewählt.

Das ist offensichtlich, nicht wahr, aber stellen Sie sich vor, das Szenario, denselben Bereich im langen VBA-Projekt zu verwenden, sagen wir hundertmal, das 100-malige Schreiben des gleichen Codes von "Range (" A2: A10 ")" wird einige Zeit dauern. Stattdessen deklarieren wir die Variable und weisen den Datentyp als "Range" -Objekt zu.
Ok, geben wir einer Variablen Ihren eigenen Namen und weisen den Datentyp als "Bereich" zu.

Anders als bei "Objektvariablen" können wir die Variablen anhand ihres Namens verwenden. Bei "Objektvariablen" müssen wir jedoch die Referenz festlegen.
In diesem Fall ist unser variables (Rng) Objekt beispielsweise ein Bereich, daher müssen wir den Verweis auf das Wort setzen, auf das sich „Rng“ beziehen wird. Um die Referenz festzulegen, müssen Sie das Schlüsselwort "Set" verwenden.

Die Variable „Rng“ bezieht sich nun auf den Zellbereich von A2 bis B10. Anstatt jedes Mal "Range (" A2: B10 "))" zu schreiben, können wir einfach das Wort "Rng" schreiben.
Erwähnen Sie in der nächsten Zeile den Variablennamen „Rng“ und setzen Sie einen Punkt, um die Magie zu sehen.

Wie Sie oben sehen können, können wir alle Eigenschaften und Methoden von Bereichsobjekten wie das vorherige sehen.
Machen Sie die Variable dynamisch
Jetzt wissen wir, wie man den Verweis auf den Zellbereich einstellt, aber sobald wir den Zellbereich erwähnen, bleibt er nur bei diesen Zellen. Das Hinzufügen oder Löschen von Zellen hat keine Auswirkungen auf diese Zellen.
Das Finden des neuen Zellbereichs nach dem Hinzufügen oder Löschen von Zellen macht die Variable also dynamischer Natur. Dies ist möglich, indem die zuletzt verwendete Zeile und Spalte gefunden wird.
Um die zuletzt verwendete Zeile und Spalte zu finden, müssen zwei weitere Variablen definiert werden.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding End Sub

Now below code will find the last used row & column before we set the reference to a range object variable.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column End Sub

Now open the “Set” keyword statement.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = End Sub

Unlike the previous method, we use VBA CELLS properties this time.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1) End Sub

I have mentioned Cells(1,1), i.e., this refers to the first cell in the active sheet, but we need the data range reference, so use the “RESIZE” property and mention “last used row & column” variables.
Code:
Sub Range_Variable_Example() Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long 'LC = Last Column for Understanding LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Set Rng = Cells(1, 1).Resize(LR, LC) End Sub

Dies setzt nun den neuesten Verweis auf die Bereichsobjektvariable "Rng". Erwähnen Sie als Nächstes den Variablennamen und verwenden Sie die Methode „Auswählen“.
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Letzte Zeile zum Verständnis von Dim LC As Long' LC = Letzte Spalte zum Verständnis von LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Select End Sub
Jetzt werde ich meinen Daten noch ein paar Zeilen hinzufügen.

Ich habe drei zusätzliche Datenzeilen hinzugefügt. Wenn ich den Code jetzt ausführe, sollte er den neuesten Datenbereich auswählen.

Dinge, an die man sich erinnern sollte
- Die Bereichsvariable in Excel VBA ist eine Objektvariable.
- Wann immer wir die Objektvariable verwenden, müssen wir das Schlüsselwort "Set" verwenden und die Objektreferenz auf die Variable setzen.
- Ohne Festlegen der Referenz können wir keine Objektvariable verwenden.