Aktuelle VBA-Region

In diesem Tutorial wird erklärt, wie Sie die aktuelle Region in VBA verwenden.

Die AktuelleRegion -Eigenschaft in VBA ist eine Möglichkeit, alle Zellen auszuwählen, die in einem Bereich enthalten sind, mit dem Sie möglicherweise arbeiten möchten. Solange die Zellen innerhalb des Bereichs alle aufeinanderfolgend sind oder sich gegenseitig „berühren“, wird die AktuelleRegion wählt jede Zelle in der Region aus.

CurrentRegion-Syntax

Die Syntax ist ganz einfach:

1 Range("E11").CurrentRegion.Select

wobei Sie die Zelle angeben würden, deren aktuelle Region Sie auswählen möchten, und dann die AktuelleRegion.Auswählen -Eigenschaft, um den Zellbereich auszuwählen.

Abrufen der aktuellen Region

Betrachten Sie das folgende Arbeitsblatt.

das folgende Unterverfahren würde alle Zellen in der Datenbank auswählen

1234567 Unter FindCurrentRegion()Dim rng As Range'setze den Bereich auf Zelle E11'Setze rng = Range("E11")'aktuelle Region auswählenrng.CurrentRegion.SelectEnd Sub

Wenn wir die Routine ausführen, werden alle Zellen im AktuelleRegion der Zelle E11 wird ausgewählt.

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

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

Wenn wir die Informationen in D13 eingeben, erhalten wir Folgendes:

Die AktuelleRegion gibt daher einen anderen zurück Bereich Objekt, das durch die kleinste Kombination belegter Spalten und Zeilen definiert wird, die den von Ihnen angegebenen Bereich umgeben.

Zählen der Zeilen und Spalten in der aktuellen Region

Wir können benutzen AktuelleRegion um die Zeilen und Spalten zu zählen.

12345678910111213 Unter FindCurrentRegion()Dim rng As RangeDim iRw As IntegerDim iCol As Integer'Setze den BereichSetze rng = Range("E11")'zähle die ReiheniRw = rng.CurrentRegion.Rows.Count'zähle die SpalteniCol = rng.CurrentRegion.Columns.Count'Ergebnis in einer Messagebox anzeigenMsgBox ("Wir haben " & iRw & " Zeilen und " & iCol & " Spalten in unserer aktuellen Region")End Sub

Wenn wir das Verfahren ausführen, wird das folgende Meldungsfeld angezeigt.

Löschen der aktuellen Region

Wir können auch die aktuelle Region-Eigenschaft verwenden, um den Zellbereich zu löschen.

123456 Unter ClearCurrentRegion()Dim rng As Range'Setze den BereichSetze rng = Range("E11")rng.CurrentRegion.ClearEnd Sub

Zuweisen der aktuellen Region zu einer Variablen

Wir können auch die gesamte aktuelle Region einer Bereichsvariablen zuweisen und dann diese Bereichsvariable verwenden, um die Zellen zu manipulieren - sei es das Formatieren der Zellen, das Sortieren der Zellen usw.

12345678910 Sub AssignCurrentRegionToVariable()Dim rng As Range'Setze den Bereich auf die aktuelle Region von E11Set rng = Range("E11").CurrentRegion'Hintergrund und Text färbenrng.Interior.Pattern = xlSolidrng.Interior.Color = 65535rng.Font.Bold = Truerng.Font.Color = -16776961End Sub

Wenn wir das obige Verfahren ausführen, erhalten wir am Ende ein Arbeitsblatt wie unten gezeigt!

Abrufen der Start- und Endzellen in der aktuellen Region

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

123456789101112131415161718 Unter GetStartAndEndCells()Dim rng As RangeDim iRw As IntegerDim iCol As IntegerDim iColStart, iColEnd, iRwStart, iRwEnd als String'setze die Bereichsvariable auf die aktuelle Region von E11Set rng = Range("E11").CurrentRegion'setze die Startspalte für den BereichiColStart = rng.Column'bekomme die Endspalte für den BereichiColEnd = iColStart + (rng.Columns.Count - 1)'Erhalte die Startreihe für den BereichiRwStart = rng.Row'bekomme die Endzeile für den BereichiRwEnd = iRwStart + (rng.Rows.Count - 1)'Anzeige der Adresse der Anfangs- und Endzeilen und -spalten in einem MeldungsfeldMsgBox ("Der Bereich beginnt bei " & Cells(iRwStart, iColStart).Adresse & " und endet bei " & Cells(iRwEnd, iColEnd).Adresse)End Sub

Wenn wir den obigen Code ausführen, wird das folgende Meldungsfeld angezeigt

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave