VBA-Auswahlbereich

Excel VBA-Auswahlbereich

Nachdem die Basis mit VBA gefüllt wurde, ist es wichtig zu verstehen, wie mit einer Reihe von Zellen im Arbeitsblatt gearbeitet wird. Sobald Sie praktisch die meiste Zeit mit der Ausführung der Codes beginnen, müssen Sie mit einer Reihe von Zellen arbeiten. Daher ist es wichtig zu verstehen, wie mit einer Reihe von Zellen gearbeitet wird, und eines dieser Konzepte ist VBA „Selection of Range“. In diesem Artikel zeigen wir Ihnen, wie Sie mit dem Auswahlbereich in Excel VBA arbeiten.

Auswahl und Reichweite sind zwei verschiedene Themen, aber wenn wir sagen, dass die Auswahl des Bereichs oder der Auswahl des Bereichs ein einziges Konzept ist. RANGE ist ein Objekt, "Selection" ist eine Eigenschaft und "Select" ist eine Methode. Menschen neigen dazu, mit diesen Begriffen zu verwechseln, es ist wichtig, die Unterschiede im Allgemeinen zu kennen.

Wie wähle ich einen Bereich in Excel VBA aus?

Sie können diese Excel-Vorlage für den VBA-Auswahlbereich hier herunterladen - Excel-Vorlage für den VBA-Auswahlbereich

Beispiel 1

Angenommen, Sie möchten die Zelle A1 im Arbeitsblatt auswählen, dann müssen Sie zuerst die Zellenadresse mithilfe des RANGE-Objekts wie folgt angeben.

Code:

Nachdem wir die Zelle erwähnt haben, müssen wir put dot auswählen, um die IntelliSense-Liste anzuzeigen, die dem RANGE-Objekt zugeordnet ist.

Aus dieser Vielzahl von Listen wird die Methode „Auswählen“ ausgewählt.

Code:

 Sub Range_Example1 () Range ("A1"). Wählen Sie End Sub 

Dieser Code wählt nun die Zelle A1 im aktiven Arbeitsblatt aus.

Wenn Sie die Zelle in den verschiedenen Arbeitsblättern auswählen möchten, müssen Sie zuerst das Arbeitsblatt anhand seines Namens angeben. Um das Arbeitsblatt anzugeben, müssen wir das Objekt "WORKSHEET" verwenden und den Arbeitsblattnamen in doppelte Anführungszeichen eingeben.

Wenn Sie beispielsweise die Zelle A1 im Arbeitsblatt „Datenblatt“ auswählen möchten, geben Sie zuerst das Arbeitsblatt wie unten angegeben an.

Code:

 Sub Range_Example1 () Arbeitsblätter ("Datenblatt") End Sub 

Fahren Sie dann mit dem Code fort, um anzugeben, was in diesem Blatt zu tun ist. In "Datenblatt" müssen wir die Zelle A1 auswählen, damit der Code BEREICH ("A1") lautet. Wählen Sie.

Code:

 Sub Range_Example1 () Arbeitsblätter ("Datenblatt"). Bereich ("A1"). Wählen Sie End Sub 

Wenn Sie versuchen, diesen Code auszuführen, wird der folgende Fehler angezeigt.

Der Grund dafür ist, dass wir das Arbeitsblattobjekt nicht direkt mit dem Bereichsobjekt und der Auswahlmethode versehen können.

Zuerst müssen wir das VBA-Arbeitsblatt auswählen oder aktivieren, dann können wir alles tun, was wir wollten.

Code:

 Sub Range_Example1 () Arbeitsblätter ("Datenblatt"). Bereich aktivieren ("A1"). Sub Sub auswählen 

Nun wird die Zelle A1 im Arbeitsblatt „Datenblatt“ ausgewählt.

Beispiel 2 - Arbeiten mit dem aktuell ausgewählten Bereich

Auswählen ist etwas anderes und das Arbeiten mit einem bereits ausgewählten Zellbereich ist anders. Angenommen, Sie möchten einen Wert "Hallo VBA" in die Zelle A1 einfügen, dann können wir dies auf zwei Arten tun.

Erstens können wir den VBA-Code direkt als RANGE ("A1") übergeben. Value = "Hello VBA".

Code:

 Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub 

Dieser Code fügt lediglich den Wert "Hallo VBA" in die Zelle A1 ein, unabhängig davon, welche Zelle gerade ausgewählt ist.

Schauen Sie sich das obige Ergebnis des Codes an. Wenn wir diesen Code ausführen, hat er den Wert "Hello VBA" eingefügt, obwohl die aktuell ausgewählte Zelle B2 ist.

Zweitens können wir den Wert mithilfe der Eigenschaft „Selection“ in die Zelle einfügen. Dazu müssen wir zuerst die Zelle manuell auswählen und den Code ausführen.

Code:

 Sub Range_Example1 () Selection.Value = "Hallo VBA" End Sub 

Mit diesem Code wird der Wert "Hello VBA" in die aktuell ausgewählte Zelle eingefügt. Ein Beispiel finden Sie im folgenden Ausführungsbeispiel.

Als ich den Code ausführte, war meine aktuell ausgewählte Zelle B2 und unser Code fügte den gleichen Wert in die aktuell ausgewählte Zelle ein.

Jetzt werde ich die Zelle B3 auswählen und ausführen, dort erhalten wir auch den gleichen Wert.

Eine weitere Sache, die wir mit der Eigenschaft "Auswahl" tun können, ist, dass wir auch Werte in mehr als eine Zelle einfügen können. Zum Beispiel werde ich jetzt den Zellenbereich von A1 bis B5 auswählen.

Wenn ich nun den Code ausführe, erhalten wir für alle ausgewählten Zellen den Wert "Hallo VBA".

Der einfache Unterschied zwischen der Angabe der Zellenadresse durch das RANGE-Objekt und der Selection-Eigenschaft besteht darin, dass im Range-Objektcode Wert in die explizit angegebenen Zellen eingefügt wird.

Im Auswahlobjekt spielt es jedoch keine Rolle, in welcher Zelle Sie sich befinden. Es fügt den genannten Wert in alle ausgewählten Zellen ein.

Dinge, an die man sich hier erinnern sollte

  • Wir können die select-Methode nicht direkt unter Selection-Eigenschaft angeben.
  • RANGE ist ein Objekt und die Auswahl ist eine Eigenschaft.
  • Anstelle des Bereichs können wir die CELLS-Eigenschaft verwenden.