Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzte Zeile in Spalte ? ermitteln

Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:06:03
Gerd
Hallo Leute, ich schreibe gerade ein Macro, in dem u. a. die letzte beschriebene Zeile ermittelt werden muss.
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
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:21:19
Beverly
Hi Gerd,
ersetze in deinem Code 73 durch "BU"
Es stellt sich aber die Frage, weshalb du das machen willst?
Bis später
Karin

AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:24:55
Gerd
weshalb? Naja, ich brauche halt die letzte Beschriebene Zelle aus dieser Spalte, damit ich dahinter neue Daten einfügen kann...
Anzeige
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:38:17
Beverly
Ich meinte etwas anderes: weshalb du die Spaltennummer durch den Spaltenbuchstaben ersetzen willst - es spielt doch keine Rolle, denn beides macht doch dasselbe. Außerdem berechnet Excel intern Zelladressen anhand der Zeilen-/Spaltennummer und nicht anhand des Spaltenbuchstabens.
Bis später
Karin

Anzeige
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:44:27
Gerd
Ich sehe halt nur den Spaltenbuchstaben und nicht die Nr..
Habe es mal probiert:
letzei = ActiveSheet.Cells(Rows.Count, BU).End(xlUp).Row
so gehts nicht. Da bricht das Macro ab.
Aber trotzdem Danke..
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 09:52:16
Beverly
1. ist auch lotisch, denn du hast meinen Beitrag nicht richtig gelesen - ich hatte geschrieben: "BU" und nicht BU, also
letzei = ActiveSheet.Cells(Rows.Count, "BU").End(xlUp).Row
und nicht
letzei = ActiveSheet.Cells(Rows.Count, BU).End(xlUp).Row
2. schreibe die Formel =SPALTE() in eine Zelle der gewünschten Spalte - damit erhältst du die Spaltennummer
Bis später
Karin

Anzeige
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 10:09:57
Gerd
Entschuldige bitte. Habe ich übersehen. Vielen DANK mochmal
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 10:07:26
Daniel
Hi
wenn du lieber mit dem Spaltenbuchstaben als mit der Spaltennummer arbeitest, kannst du diesen Spaltenbuchstaben auch in der Cells-Funktion verwenden, so wie von den Kollegen gezeigt. Cells verarbeitet beides, Spaltennummer als Zahl und Spaltenbuchstaben als Textstring.
die andere Alternative wäre, mit Range statt Cells zu arbeiten, bei Range muss man den den Spaltenbuchstaben verwenden:

letzei = ActiveSheet.Range("BU" & Rows.Count).End(xlUp).Row
Gruß Daniel
Anzeige
AW: Letzte Zeile in Spalte ? ermitteln
21.07.2022 11:16:38
GerdL
Moin,
noch eine andere Alternative.

MsgBox Columns("BU").Cells(Rows.Count).End(xlUp).Row
Gruß Gerd
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zeile in einer Spalte ermitteln


Schritt-für-Schritt-Anleitung

Um 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:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)", wähle "Einfügen" und dann "Modul".

  3. 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
  4. 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.


Häufige Fehler und Lösungen

  • Fehler: "Typenübereinstimmung" oder "Befehlszeile nicht gefunden".

    • Lösung: Überprüfe, ob du den Spaltenbuchstaben in Anführungszeichen gesetzt hast. Der Code sollte ActiveSheet.Cells(Rows.Count, "BU").End(xlUp).Row sein, nicht ActiveSheet.Cells(Rows.Count, BU).End(xlUp).Row.
  • Fehler: Das Makro bricht ab.

    • Lösung: Stelle sicher, dass du den richtigen Sheet-Namen und die korrekte Spalte verwendest. Du kannst auch die MsgBox-Funktion verwenden, um den Wert von letzei zu überprüfen.

Alternative Methoden

Es gibt mehrere Möglichkeiten, die letzte Zeile in einer Spalte zu ermitteln. Hier sind zwei alternative Methoden:

  1. Verwendung von Range:

    letzei = ActiveSheet.Range("BU" & Rows.Count).End(xlUp).Row
  2. 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.


Praktische Beispiele

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"

Tipps für Profis

  • 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!"

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige