VBA – Aktuelle Region

Written by

Mel Jenkins

Reviewed by

Steve Rynearson

Translated by

Zakarya El Oirzadi

Last updated on August 22, 2022

In diesem Tutorial erklären wir Ihnen, wie Sie CurrentRegion in VBA verwenden können.

Die Eigenschaft CurrentRegion in VBA ist eine Möglichkeit, alle Zellen in einem Bereich, mit dem Sie arbeiten möchten, auszuwählen. Solange die Zellen innerhalb des Bereichs alle aufeinander folgen oder einander „berühren“, wählt die CurrentRegion jede Zelle in diesem Bereich aus.

CurrentRegion-Syntax

Die Syntax ist sehr einfach:

Range("E11").CurrentRegion.Select

hier geben Sie die Zelle an, deren aktuelle Region Sie auswählen möchten und verwenden dann die Eigenschaft CurrentRegion.Select, um den Zellenbereich auszuwählen.

Die aktuelle Region ermitteln

Betrachten Sie das folgende Arbeitsblatt.

vba aktuelle region daten

Die folgende Unterprozedur würde alle Zellen innerhalb der Excel-Tabelle auswählen.

Sub AktuelleRegionFinden()
   Dim bereich As Range
'den Bereich auf die Zelle E11 setzen
   Set bereich = Range("E11")
'Den aktuellen Bereich auswählen
   bereich.CurrentRegion.Select
End Sub

Wenn wir die Routine ausführen, werden alle Zellen in der aktuellen Region der Zelle E11 ausgewählt.

vba aktuelle region hervorgehoben

Wenn wir den Inhalt der angrenzenden Zellen entfernen und die Routine erneut ausführen, wird der folgende Bereich als aktuelle Region ausgewählt.

vba aktuelle region leere zellen

Wenn wir jedoch noch mehr Daten entfernen, könnten wir das folgende Beispiel für die aktuelle Region der Zelle E11 erhalten.

vba aktuelle region reduziert

Wenn wir die Informationen in D13 eingeben, ergibt sich folgendes Bild:

aktuelle region hervorgehoben d13

CurrentRegion liefert also ein anderes Bereichsobjekt, das durch die kleinste Kombination von belegten Spalten und Zeilen, die den von Ihnen angegebenen Bereich umgeben, definiert ist.

Zeilen und Spalten in der aktuellen Region zählen

Mit CurrentRegion können wir die Zeilen und Spalten zählen.

Sub AktuelleRegionFinden()
   Dim bereich As Range
   Dim iZeile As Integer
   Dim iSpalte As Integer
'den Bereich festlegen
   Set bereich = Range("E11")
'Die Zeilen zählen
   iZeile = bereich.CurrentRegion.Rows.Count
'Die Spalten zählen
   iSpalte = bereich.CurrentRegion.Columns.Count
'Das Ergebnis in einer Meldungsbox anzeigen
   MsgBox ("Wir haben " & iZeile & " Zeilen und " & iSpalte & " Spalten in unserer aktuellen Region")
End Sub

Wenn wir die Prozedur ausführen, wird die folgende Meldungsbox angezeigt.

vba aktuelle region groesse

Die Werte in der aktuellen Region löschen

Wir können auch die Eigenschaft CurrentRegion verwenden, um die Werte im Zellenbereich zu löschen.

Sub AktuelleRegionLeeren()
   Dim bereich As Range
'Den Bereich festlegen
   Set bereich = Range("E11")
   bereich.CurrentRegion.Clear
End Sub

Die aktuelle Region einer Variablen zuweisen

Wir können auch die gesamte aktuelle Region einer Bereichsvariablen zuweisen und dann diese verwenden, um die Zellen zu bearbeiten, und zwar zum Formatieren bzw. Sortieren der Zellen usw..

Sub AktuelleRegionEinerVariablenZuweisen()
   Dim bereich As Range
'Den Bereich auf die aktuelle Region von E11 setzen
   Set bereich = Range("E11").CurrentRegion
'Hintergrund und Text einfärben
   bereich.Interior.Pattern = xlSolid
   bereich.Interior.Color = 65535
   bereich.Font.Bold = True
   bereich.Font.Color = -16776961
End Sub

Wenn wir die obige Prozedur ausführen, erhalten wir ein Arbeitsblatt wie unten abgebildet!

vba aktuelle region formatieren

Anfangs- und Endzellen in der aktuellen Region ermitteln

Mit etwas komplizierterem Code können wir die erste und die letzte Zelle in einer aktuellen Region ermitteln.

Sub AnfangsUndEndzellenErmitteln()
   Dim bereich As Range
   Dim iZeile As Integer
   Dim iSpalte As Integer
   Dim iSpalteAnfang, iSpalteEnde, iZeileAnfang, iZeileEnde As String
'Die Bereichsvariable auf die aktuelle Region von E11 setzen
   Set bereich = Range("E11").CurrentRegion
'Die Anfangsspalte für den Bereich festlegen
   iSpalteAnfang = bereich.Column
'die Endspalte für den Bereich ermitteln
   iSpalteEnde = iSpalteAnfang + (bereich.Columns.Count - 1)
'Ermitteln der Anfangszeile für den Bereich
   iZeileAnfang = bereich.Row
'Ermitteln der Endzeile für den Bereich
   iZeileEnde = iZeileAnfang + (bereich.Rows.Count - 1)
'Die Adresse der Anfangs- und Endzeilen und -spalten in einer Meldungsbox anzeigen
   MsgBox ("Der Bereich beginnt bei " & Cells(iZeileAnfang, iSpalteAnfang).Address & " und endet bei " & Cells(iZeileEnde, iSpalteEnde).Address)
End Sub

Wenn wir den obigen Code ausführen, wird die folgende Meldungsbox angezeigt.

aktuelle region anfang und ende

vba-free-addin

Add-In für VBA-Code-Beispiele

Auf alle Code-Beispiele aus unserer Website einfach zugreifen.

Navigieren Sie einfach zum Menü, klicken Sie darauf und der Code wird direkt in Ihr Modul eingefügt. .xlam add-in.

(Keine Installation erforderlich!)

Kostenloser Download

Return to VBA Code Examples