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

Forumthread: Letzte Zelle suchen und alle Zeilen darunter lösch

Letzte Zelle suchen und alle Zeilen darunter lösch
16.06.2004 17:33:22
Klaus
Hallo Leute
ich möchte in der Spalte "A" den letzten Eintrag finden und dann alle darunter befindlichen Zellen löschen (oder den Inhalt). mit dem Code
Kann jemand helfen?
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zelle suchen und alle Zeilen darunter lösch
Ulf
Option Explicit

Sub loeschen()
Dim lz As Long
If [a65536] <> "" Then Exit Sub
lz = [a65536].End(xlUp).Row + 1
Rows(lz & ":65536").Delete
End Sub

Ulf
AW: Letzte Zelle suchen und alle Zeilen darunter lösch
16.06.2004 17:44:03
Klaus
Hallo Ulf
Vielen Dank für die schnelle Antwort. Klappt wunderbar. Ihr seid schon klasse in dem Forum.....
Gruss Klaus
Anzeige
AW: Letzte Zelle suchen und alle Zeilen darunter lösch
16.06.2004 17:43:39
FloGo
Hallo Klaus!
Folgender Code löscht alle darunter liegenden Zellen in Spalte A:

Sub löschen()
Dim n As Long
n = 1
Do Until IsEmpty(Sheets("Tabelle1").Cells(n, 1))
n = n + 1
Loop
Range("A" & n & ":A65536").ClearContents
End Sub

oder der hier löscht alle Zellen (in allen spalten) unter letztem eintrag:

Sub löschen()
Dim n As Long
n = 1
Do Until IsEmpty(Sheets("Tabelle1").Cells(n, 1))
n = n + 1
Loop
Range("A" & n & ":IV65536").ClearContents 'löscht nur Inhalt .delete löscht alles
End Sub

Hoffe konnte dir helfen!
FloGo
P.S. Tabellenblattname ändern!!!
Anzeige
AW: Letzte Zelle suchen und alle Zeilen darunter lösch
16.06.2004 17:47:57
Klaus
Hallo FloGo
Auch dir recht herzlichen dank für deine Hilfe. einfach toll. was ihr alles wisst...
Gruss Klaus
Danke für Rückmeldung:-)) Geschlossen
16.06.2004 17:53:02
FloGo
:-))
AW: Danke für Rückmeldung:-)) Geschlossen
Ulf
Überprüf deine Beispiele mal, die sind fehlerhaft.
Die Schleife ist für die Aufgabenstellung unnötig!
Ulf
Anzeige
Warum unnötig?
16.06.2004 18:10:41
FloGo
Hallo Ulf
Wie soll ich dann die 1. leere Zelle in A finden?
Ich weiß dass es mehrere Wege gibt aber mit der Schleife geht´s auch!?
FloGo
AW: Warum unnötig?
Reinhard
Hi Flo,
es wird die erste leere Zelle gefunden, das bedeutet aber nicht dass danach in Spalte A nix mehr kommt, ich mutmaße dies ist mit fehlerhaft gemeint.
Gruß
Reinhard
Anzeige
AW: Warum unnötig?
16.06.2004 18:18:44
FloGo
Das weiß ich aber ich gehe davon aus dass alle Zeilen bis dort belegt sind!
Wenn das nicht der Fall ist sollte das, nach meiner Meinung, in der Fragestellung mitgeteilt werden!
FloGo
AW: Warum unnötig?
Ulf
"ich möchte in der Spalte "A" den letzten Eintrag finden"
Klare Aufgabe, deine Annahmen sind unerheblich!
Ulf
Anzeige
AW: Warum unnötig?
Ulf
Weil Excelfunktionen um die Größenordnung 10.000 schneller sind als
VBA.
Fehlerhaft, siehe Antwort von Reinhard.
Ulf
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Letzte Zelle in Excel suchen und darunter liegende Zeilen löschen


Schritt-für-Schritt-Anleitung

Um die letzte Zelle in einer Excel-Spalte zu finden und alle darunter liegenden Zeilen zu löschen, kannst Du den folgenden VBA-Code verwenden. Dieser Code sucht die letzte Zelle in Spalte A und löscht alle Zeilen darunter.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Sub loeschen()
    Dim lz As Long
    If [A65536] <> "" Then Exit Sub
    lz = [A65536].End(xlUp).Row + 1
    Rows(lz & ":65536").Delete
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Drücke ALT + F8, wähle loeschen aus und klicke auf Ausführen.

Die unterhalb der letzten Zelle liegenden Zeilen in Spalte A werden nun gelöscht.


Häufige Fehler und Lösungen

  • Fehler: Der Code löscht nicht die gewünschten Zeilen.

    • Lösung: Stelle sicher, dass der Code in der richtigen Tabelle ausgeführt wird und dass Du die korrekte Spalte angegeben hast.
  • Fehler: "Subscript out of range" oder ähnliche Fehlermeldung.

    • Lösung: Überprüfe den Namen des Tabellenblatts im Code. Ersetze Sheets("Tabelle1") durch den richtigen Namen Deines Tabellenblattes.

Alternative Methoden

Wenn Du keine VBA-Lösungen verwenden möchtest, kannst Du auch Excel-Funktionen nutzen, um die letzte Zelle zu finden und ihre Inhalte zu löschen:

  1. Letzte Zelle finden: Verwende die Formel =VERGLEICH(9.99999999999999E+307;A:A), um die letzte Zelle in Spalte A zu finden.
  2. Inhalte löschen: Markiere die Zellen unterhalb der letzten Zelle und drücke Entf, um den Inhalt zu löschen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die letzte Zelle in Excel suchen und Zeilen löschen kannst:

  • Beispiel 1: Wenn Du in Spalte B die letzte Zelle suchst und die Zeilen darunter löschen möchtest, ändere den Code zu:
Sub loeschen()
    Dim lz As Long
    If [B65536] <> "" Then Exit Sub
    lz = [B65536].End(xlUp).Row + 1
    Rows(lz & ":65536").Delete
End Sub
  • Beispiel 2: Um alle Zellen unter der letzten Zelle in Spalte A zu löschen, ohne die Zeilen zu entfernen, kannst Du diesen Code verwenden:
Sub loeschen()
    Dim n As Long
    n = 1
    Do Until IsEmpty(Sheets("Tabelle1").Cells(n, 1))
        n = n + 1
    Loop
    Range("A" & n & ":A65536").ClearContents
End Sub

Tipps für Profis

  • Nutze CTRL + Z, um Änderungen rückgängig zu machen, falls Du versehentlich zu viele Zeilen gelöscht hast.
  • Teste Deinen Code in einer Kopie Deiner Excel-Datei, um unbeabsichtigte Datenverluste zu vermeiden.
  • Du kannst auch die Application.ScreenUpdating-Eigenschaft auf False setzen, um die Ausführungsgeschwindigkeit des Makros zu erhöhen.

FAQ: Häufige Fragen

1. Wie finde ich die letzte Zelle in einer anderen Spalte? Ändere den Spaltenbuchstaben im Code entsprechend, z.B. If [B65536] <> "" Then Exit Sub.

2. Kann ich diese Methode auch für mehrere Spalten verwenden? Ja, Du kannst den Code anpassen, um mehrere Spalten zu durchsuchen und die gewünschten Zeilen zu löschen.

3. Was ist der Unterschied zwischen Löschen und Inhalt löschen? Rows(lz & ":65536").Delete entfernt die Zeilen vollständig, während Range("A" & n & ":A65536").ClearContents nur den Inhalt der Zellen löscht, die Zeilen jedoch bestehen bleiben.

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