Das mache derzeit so: ** letzei = ActiveSheet.Cells(Rows.Count, 73).End(xlUp).Row ** die 73 bedeutet Spalte ** BU **.
Meine Frage: Wie muss nun der Befehl aussehen, das ich statt der 73 BU verwenden kann?
Vielen Dank schonmal
letzei = ActiveSheet.Range("BU" & Rows.Count).End(xlUp).Row
Gruß Daniel
MsgBox Columns("BU").Cells(Rows.Count).End(xlUp).Row
Gruß GerdUm die letzte Zeile mit Inhalt in einer bestimmten Spalte in Excel zu ermitteln, kannst du die VBA-Funktion End(xlUp)
verwenden. Hier ist eine Schritt-für-Schritt-Anleitung, wie du dies umsetzen kannst:
Öffne den VBA-Editor: Drücke ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.
Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)", wähle "Einfügen" und dann "Modul".
Gib den folgenden Code ein:
Dim letzei As Long
letzei = ActiveSheet.Cells(Rows.Count, "BU").End(xlUp).Row
MsgBox "Die letzte beschriebene Zeile in Spalte BU ist: " & letzei
Führe das Makro aus: Drücke F5
, um das Makro auszuführen. Ein Dialogfeld zeigt dir die letzte Zeile mit Inhalt in Spalte BU an.
Fehler: "Typenübereinstimmung" oder "Befehlszeile nicht gefunden".
ActiveSheet.Cells(Rows.Count, "BU").End(xlUp).Row
sein, nicht ActiveSheet.Cells(Rows.Count, BU).End(xlUp).Row
.Fehler: Das Makro bricht ab.
MsgBox
-Funktion verwenden, um den Wert von letzei
zu überprüfen.Es gibt mehrere Möglichkeiten, die letzte Zeile in einer Spalte zu ermitteln. Hier sind zwei alternative Methoden:
Verwendung von Range:
letzei = ActiveSheet.Range("BU" & Rows.Count).End(xlUp).Row
Verwendung von Columns:
MsgBox Columns("BU").Cells(Rows.Count).End(xlUp).Row
Diese Methoden sind nützlich, wenn du den Spaltenbuchstaben verwenden möchtest, ohne die Spaltennummer zu kennen.
Hier sind einige praktische Anwendungsbeispiele für die Ermittlung der letzten Zeile:
Letzte gefüllte Zelle in Spalte B:
letzei = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
MsgBox "Die letzte gefüllte Zelle in Spalte B ist: " & letzei
Letzte Zeile mit Inhalt ermitteln und in eine andere Zelle schreiben:
letzei = ActiveSheet.Cells(Rows.Count, "C").End(xlUp).Row
ActiveSheet.Cells(letzei + 1, "C").Value = "Neue Daten"
Verwende Konstanten: Du kannst die Spaltennummer in eine Konstante setzen, um die Lesbarkeit deines Codes zu verbessern.
Const Spalte As String = "D"
letzei = ActiveSheet.Cells(Rows.Count, Spalte).End(xlUp).Row
Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler abzufangen.
On Error GoTo Fehlerbehandlung
' Dein Code hier
Exit Sub
Fehlerbehandlung:
MsgBox "Ein Fehler ist aufgetreten!"
1. Wie kann ich die letzte Zeile in einer anderen Spalte als BU ermitteln?
Du musst einfach den Buchstaben der gewünschten Spalte in den Code einfügen, z.B. "A"
für Spalte A.
2. Funktioniert dieser Code in allen Excel-Versionen? Ja, dieser Code sollte in den meisten aktuellen Excel-Versionen funktionieren, solange du Zugriff auf den VBA-Editor hast.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen