EXCEL - VBA-Funktion zur Ermittlung der letzten gefüllten Zeile
Inhaltsverzeichnis
- Problemstellung
- Benutzerdefinierte VBA-Funktion
- Schritt-für-Schritt-Anleitung
- Anwendungsbeispiele aus der Praxis
- Tipps
- Zusammenfassung
Problemstellung
Du möchtest die letzte beschriebene Zeile in einem Excel-Arbeitsblatt ermitteln. Zusätzlich soll die Funktion mit Autofiltern kompatibel sein und Spalten unterschiedlicher Länge berücksichtigen können.
Standardmäßige Excel-Funktionen bieten keine Möglichkeit, alle diese Anforderungen in einer einzigen Funktion zu erfüllen. Daher ist eine benutzerdefinierte VBA-Funktion hier der beste Ansatz.
Benutzerdefinierte VBA-Funktion
Mit VBA (Visual Basic for Applications) kannst du eine benutzerdefinierte Funktion erstellen, die alle diese Bedingungen berücksichtigt.
Das Ziel ist, durch alle Spalten und Zeilen zu iterieren und dabei Autofilter und unterschiedliche Spaltenlängen zu berücksichtigen. Wir können dies mit einer VBA-Funktion realisieren.
Schritt-für-Schritt-Anleitung
- Öffne den VBA-Editor, indem du
Alt + F11
drückst.
- Gehe zu
Einfügen
> Modul
, um ein neues Modul hinzuzufügen.
- Kopiere und füge den folgenden VBA-Code in das Modul ein.
Function GetLastRow(wsName As String) As Long
Dim ws As Worksheet
Dim lastRow As Long
Dim col As Long
Dim tmpLastRow As Long
Set ws = Worksheets(wsName)
lastRow = 1
For col = 1 To ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column
tmpLastRow = ws.Cells(ws.Rows.Count, col).End(xlUp).Row
If tmpLastRow > lastRow Then lastRow = tmpLastRow
Next col
GetLastRow = lastRow
End Function
- Speichere das Modul und schließe den VBA-Editor.
Nun kannst du die Funktion GetLastRow
in deinem Excel-Arbeitsblatt verwenden, indem du =GetLastRow("Blattname")
eingibst.
Anwendungsbeispiele aus der Praxis
- Datenanalyse: Erkenne, wie viele Datensätze in deinem Arbeitsblatt vorhanden sind.
- Automatisierung von Aufgaben: Verwende die Funktion in Kombination mit anderen VBA-Codes, um Aktionen wie Sortieren oder Filtern automatisch auf alle vorhandenen Daten anzuwenden.
Tipps
- Wenn du die Funktion in mehreren Arbeitsmappen verwenden möchtest, überlege, sie in einer persönlichen Makroarbeitsmappe zu speichern.
Zusammenfassung
Die benutzerdefinierte VBA-Funktion GetLastRow
ermöglicht es dir, die letzte beschriebene Zeile in einem Excel-Arbeitsblatt zu finden. Sie ist mit Autofiltern kompatibel und berücksichtigt Spalten unterschiedlicher Länge. Diese Funktion ist besonders nützlich für die Automatisierung von Aufgaben und die Datenanalyse.