VBA – Range.End (xlDown, xlUp, xlToRight, xlToLeft)
In this Article
In diesem Lernprogramm erfahren Sie, wie Sie die Eigenschaft Range.End in VBA verwenden können.
Die meisten Sachen, die Sie in einer Excel-Arbeitsmappe oder einem Arbeitsblatt manuell ausführen, können im VBA-Code automatisiert werden.
Wenn Sie in Excel einen Bereich mit nicht leeren Zellen haben und die Taste Strg+Pfeil nach unten drücken, bewegt sich Ihr Mauszeiger zur letzten nicht leeren Zelle in der Spalte, in der Sie sich befinden. Ähnlich verhält es sich, wenn Sie die Tastenkombination Strg+Pfeil nach oben drücken: Ihr Mauszeiger wird zur ersten nicht leeren Zelle bewegt. Dasselbe gilt für eine Zeile, wenn Sie Strg+Pfeil rechts oder Strg+Pfeil links drücken, um an den Anfang oder das Ende der Zeile zu gelangen. Alle diese Tastenkombinationen können in Ihrem VBA-Code mit der End-Funktion verwendet werden.
Syntax der End-Eigenschaft eines Bereiches
Mit der Eigenschaft Range.End können Sie zu einer bestimmten Zelle innerhalb des aktuellen Bereichs, mit dem Sie arbeiten, wechseln.
ausdruck.End(Richtung)
Der Ausdruck ist die Zellenadresse (Bereich) der Zelle, von der aus Sie beginnen möchten, z. B: Bereich(„A1“)
END ist die Eigenschaft des zu kontrollierenden Range-Objekts.
Die Richtung ist die Excel-Konstante, die Sie verwenden können. Es stehen 4 Möglichkeiten zur Verfügung: xlDown, xlToLeft, xlToRight und xlUp.
Zur letzten Zelle gelangen
Die folgende Prozedur bewegt Sie zur letzten Zelle im aktuellen Bereich der Zellen, in denen Sie sich befinden.
Sub GeheZurLetztenZelle()
'zur letzten belegten Zelle im aktuellen Zellenbereich springen
Range("A1").End(xlDown).Select
End Sub
Zeilen zählen
Mit der folgenden Prozedur können Sie die Konstante xlDown mit der Eigenschaft Range.End verwenden, um zu zählen, wie viele Zeilen sich in Ihrem aktuellen Bereich befinden.
Sub GehezurLetztenZeileEinesBereichs()
Dim rw As Integer
Range("A1").Select
'Die letzte Zeile im aktuellen Bereich ermitteln
rw = Range("A1").End(xlDown).Row
'Anzeigen, wie viele Zeilen in Verwendung sind
MsgBox "Die letzte verwendete Zeile in diesem Bereich ist " & rw
End Sub
Das folgende Beispiel zählt die Spalten im Bereich unter Verwendung der Konstante xlToRight.
Sub GehezurLetztenZelleEinesBereichs()
Dim spalte As Integer
Range("A1").Select
'Die letzte Spalte im aktuellen Bereich ermitteln
spalte = Range("A1").End(xlToRight).Column
'anzeigen, wie viele Spalten in Verwendung sind
MsgBox "Die letzte verwendete Spalte in diesem Bereich ist " & spalte
End Sub
Erstellen eines Bereichsarrays
Mit der folgenden Prozedur können wir bei der ersten Zelle in einem Bereich von Zellen beginnen und dann die Eigenschaft End(xlDown) verwenden, um die letzte Zelle in dem Zellebereich zu finden. Wir können dann unser Array mit der Gesamtzahl der Zeilen im Bereich neu dimensionieren (ReDim). Dadurch erhalten wir die Möglichkeit, den Zellenbereich anhand einer Schleife zu durchlaufen.
Sub ArrayFuellen()
'Das Array deklarieren
Dim strLieferanten() As String
'Die Ganzzahl zum Zählen der Zeilen deklarieren
Dim n As Integer
'Zählen der Zeilen
n = Range("B1", Range("B1").End(xlDown)).Rows.Count
'das Array initialisieren und füllen
ReDim strKunden(n)
'Integer-Variable für die Schleifenbildung deklarieren
Dim i As Integer
'das Array füllen
For i = 0 To n
strKunden(i) = Range("B1").Offset(i, 0).Value
Next i
'Array-Werte in einer Meldungsbox anzeigen
MsgBox Join(strKunden, vbCrLf)
End Sub
Wenn wir diese Prozedur ausführen, wird die folgende Meldungsbox angezeigt.
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!