Vba: so finden sie die zuletzt verwendete zeile
Sie können die folgende grundlegende Syntax in VBA verwenden, um die zuletzt verwendete Zeile in einer Excel-Tabelle zu finden:
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
In diesem speziellen Beispiel wird nach der letzten im aktuellen Blatt verwendeten Zeile gesucht und das Ergebnis in Zelle D2 zurückgegeben.
Wenn Sie stattdessen die letzte Zeile eines Meldungsfelds anzeigen möchten, können Sie die folgende Syntax verwenden:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis angewendet werden kann.
Beispiel 1: Suchen Sie mit VBA die letzte Zeile und zeigen Sie die Ergebnisse in der Zelle an
Nehmen wir an, wir haben den folgenden Datensatz in Excel, der Informationen über verschiedene Basketballspieler enthält:
Wir können das folgende Makro erstellen, um die letzte in dieser Excel-Tabelle verwendete Zeile zu finden und das Ergebnis in Zelle D2 anzuzeigen:
Sub FindLastRow()
Range(" D2 ")=Cells.Find("*",Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle D2 den Wert 11 enthält.
Dies sagt uns, dass die letzte Zeile, die in diesem speziellen Blatt verwendet wird, Zeile 11 ist.
Beachten Sie außerdem, dass dieses Makro immer die zuletzt verwendete Zeile findet, wenn Sie leere Zellen vor einer verwendeten Zelle haben.
Angenommen, wir führen das Makro für den folgenden Datensatz aus:
Zelle D2 enthält den Wert 16 , da es sich um die letzte Zeile handelt, die einen Wert enthält.
Beispiel 2: Suchen Sie mit VBA die letzte Zeile und zeigen Sie die Ergebnisse im Meldungsfeld an
Angenommen, wir möchten stattdessen die zuletzt verwendete Zeile in einem Blatt finden und die Zeilennummer in einem Meldungsfeld anzeigen.
Dazu können wir das folgende Makro erstellen:
Sub FindLastRow()
Dim LastRow As Long
LastRow=Cells.Find("*", Range(" A1 "),xlFormulas,xlPart,xlByRows,xlPrevious,False).Row
MsgBox " Last Row: " & LastRow
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Das Meldungsfeld teilt uns mit, dass die letzte im Blatt verwendete Zeile Zeile 11 ist.
Hinweis : Die vollständige Dokumentation für die VBA- Find- Methode finden Sie hier .
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So berechnen Sie den Durchschnittswert des Bereichs
VBA: So zählen Sie die Anzahl der Zeilen im Bereich
VBA: So entfernen Sie doppelte Werte im Bereich