Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Letzte Zeile per VBA ermitteln ?

Letzte Zeile per VBA ermitteln ?
01.02.2007 14:54:29
Selma
Hallo Excel-Freunde,
ich möchte in Arbeitsblatt "EXPORT" per VBA die Zeilen (ab Zeile 28 bis letzte mit Inhalt gefüllte Zeile) löschen.
Zur Zeit habe ich diesen Code, der es bis Zeile 60 löscht.
Sheets("EXPORT").Select
Rows("28:60").Delete
Was muss ich ändern ?
Vielen Dank im Voraus...
Liebe Grüße
SELMA
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Letzte Zeile per VBA ermitteln ?
01.02.2007 15:27:24
Ingo
Hallo Selma;

Sub delete_rows()
Dim r As Integer
r = Sheets("EXPORT").Cells.SpecialCells(xlCellTypeLastCell).Row
Sheets("EXPORT").Rows("28:" & r).Delete
End Sub

mfG
Ingo Christiansen
AW: Letzte Zeile per VBA ermitteln ?
01.02.2007 15:50:42
haw
Hallo Selma,
oder so:

Sub ZeilenLöschen()
Dim lz%
lz = Cells(Rows.Count, 1).End(xlUp).Row
Rows("28:" & lz).Delete
End Sub

Gruß Heinz
Anzeige
Vielen Dank Ingo und Heinz !
01.02.2007 16:02:11
Selma
Vielen Dank Ingo, vielen Dank Heinz
LG
Selma
;

Forumthreads zu verwandten Themen

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 Zeile in Excel per VBA ermitteln


Schritt-für-Schritt-Anleitung

Um die letzte Zeile mit Inhalt in einem Excel-Arbeitsblatt per VBA zu ermitteln, kannst du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

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

  3. Gib den VBA-Code ein: Kopiere einen der folgenden Codes in das Modul:

    Sub delete_rows()
       Dim r As Long
       r = Sheets("EXPORT").Cells.SpecialCells(xlCellTypeLastCell).Row
       Sheets("EXPORT").Rows("28:" & r).Delete
    End Sub

    oder

    Sub ZeilenLöschen()
       Dim lz As Long
       lz = Cells(Rows.Count, 1).End(xlUp).Row
       Rows("28:" & lz).Delete
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen.

Mit diesen Schritten kannst du die letzte Zeile mit Inhalt ermitteln und entsprechend löschen.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004“
    Lösung: Stelle sicher, dass das Arbeitsblatt „EXPORT“ existiert und korrekt benannt ist.

  • Fehler: „Objektvariable oder With-Blockvariable nicht festgelegt“
    Lösung: Überprüfe, ob die Zellen in dem angegebenen Bereich wirklich Inhalte haben.


Alternative Methoden

Es gibt verschiedene Methoden, um die letzte Zeile in Excel zu ermitteln:

  • Verwendung von UsedRange:

    Dim letzteZeile As Long
    letzteZeile = Sheets("EXPORT").UsedRange.Rows.Count
  • Direkte Zuweisung in einer Funktion: Du kannst auch eine Funktion erstellen, die die letzte Zeile zurückgibt.

    Function LetzteZeile() As Long
       LetzteZeile = Cells(Rows.Count, 1).End(xlUp).Row
    End Function

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die letzte Zeile ermitteln kannst:

  1. Löschen von Zeilen ab einer bestimmten Zeile:

    Sub ZeilenLöschen()
       Dim lz As Long
       lz = Cells(Rows.Count, 1).End(xlUp).Row
       Rows("28:" & lz).Delete
    End Sub
  2. Daten in die letzte Zeile schreiben:

    Sub DatenHinzufuegen()
       Dim lz As Long
       lz = Cells(Rows.Count, 1).End(xlUp).Row + 1
       Cells(lz, 1).Value = "Neuer Eintrag"
    End Sub

Diese Beispiele zeigen, wie vielseitig die Nutzung von vba letzte zeile in verschiedenen Szenarien sein kann.


Tipps für Profis

  • Verwende Long für Zeilen: Bei größeren Datenmengen ist es ratsam, den Datentyp Long anstelle von Integer zu verwenden, um Überläufe zu vermeiden.
  • Optimierung der Performance: Deaktiviere Bildschirmaktualisierungen und Berechnungen während der Ausführung des Makros:
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ' Dein Code hier
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic

FAQ: Häufige Fragen

1. Wie finde ich die letzte Zeile in einer bestimmten Spalte?
Du kannst die letzte Zeile in einer bestimmten Spalte wie folgt ermitteln:

Dim lz As Long
lz = Cells(Rows.Count, 2).End(xlUp).Row ' für Spalte B

2. Was ist der Unterschied zwischen SpecialCells(xlCellTypeLastCell) und End(xlUp)?
SpecialCells(xlCellTypeLastCell) gibt die letzte Zelle zurück, die in der Tabelle verwendet wurde, während End(xlUp) die letzte gefüllte Zelle in einer bestimmten Spalte ermittelt.

3. Kann ich das Makro anpassen, um nur leere Zeilen zu löschen?
Ja, du kannst eine Schleife verwenden, um leere Zeilen zu überprüfen und nur diese zu löschen.

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