Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1308to1312
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

leere Blattzeilen löschen - Routine

leere Blattzeilen löschen - Routine
03.05.2013 11:56:01
merten
Hallo,
ich habe aus einem ERP-Vorsystem eine Tabelle bekommen in welcher jede Menge leere Blattzeilen vorhanden sind. Die alle per Hand zu löschen dauert zu lange.
Gibt es hierfür eine simple VBA Routine oder einen anderen schnellen Weg?
Vielen Dank im Voraus.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 11:58:38
Hajo_Zi

Sub Leerzeilen_loeschen()
'   alle Leerzeilen löschen
Dim LoI As Long
Dim RaZeile As Range
Application.ScreenUpdating = False
For LoI = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Application.WorksheetFunction.CountA(Rows(LoI))  ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If Rows(LoI).SpecialCells(xlCellTypeBlanks).Count = ActiveSheet.UsedRange. _
SpecialCells(xlCellTypeLastCell).Column Then
If RaZeile Is Nothing Then
Set RaZeile = Rows(LoI)
Else
Set RaZeile = Union(RaZeile, Rows(LoI))
End If
End If
End If
Next LoI
If Not RaZeile Is Nothing Then RaZeile.Delete
Application.ScreenUpdating = True
Set RaZeile = Nothing
End Sub
Gruß Hajo

Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 12:45:49
merten
Hallo Hajo,
vielen Dank für deinen Code. Ich bekomme einen Laufzeilenfehler (400), die Routine läuft leider nicht.
Muss ich noch etwas eingrenzen?
oder ist es besser einen festen Bereich zu definieren in welchem nach leeren zeilen geschaut wird?
Gruss, merten

AW: leere Blattzeilen löschen - Routine
03.05.2013 12:00:01
JAck
Halo Merten
Routinen kann man recht schnell selber schreiben
Zeichne einfach mal ein Makro auf, wie du eine Zeile löschst,
dann setzte eine schleife drumherum und fertig.
ohne Makro kannst du es beschleunigen mit dem Zeile markieren und Shortcut Strg+ "-"
löscht die markierte Zeile...
Grüße

Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 12:14:27
Beverly
Hi Merten,
Sub Loeschen()
Dim lngZeile As Long
For lngZeile = ActiveSheet.UsedRange.Find(What:="*", SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row To 1 Step -1
If Application.CountA(Rows(lngZeile)) = 0 Then Rows(lngZeile).Delete shift:=xlUp
Next lngZeile
End Sub


AW: leere Blattzeilen löschen - Routine
03.05.2013 12:50:46
merten
Hallo Karin,
vielen Dank für deine Mühe, die Routine läuft, dauert aber sehr lange.
Kann man das beschleunigen bzw. den Bereich eingrenzen?
vg, merten

Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 12:53:28
Beverly
Hi Merten,
du kannst noch zu Beginn des Codes die Bildschirmaktualisierung ausschalten (Application.ScreenUpdating = False). Der Bereich ist bereits eingegrent, indem UsedRange (Benutzer Bereich) verwendet wird.


AW: leere Blattzeilen löschen - Routine
03.05.2013 13:21:17
merten
Hi Karin,
vielen Dank. Habe screenupdating nun unterdrückt, ruckeln ist weg, zeitersparnis gibt es dadurch keine.
Sorry wenn ich nochmals frage. UsedRange bedeutet dass nur der Bereich gescannt wird in welchem auch Daten vorhanden sind?
vg, merten

Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 13:34:50
Beverly
Hi Merten,
das ist der Bereich, der irgendwann einmal benutzt wurde. Du findest die rechte untere EckZelle heraus, indem du Strg+Ende drückst. Wenn die angezeigte Zeile weit unterhalb deiner tatsächlichen letzten Zeile liegt und die angezeigte Spalte weit rechts neben deiner letzten Spalte mit Daten, dann lösche die Zeilen bzw. Spalten bis zu deiner letzten belegten Zeile/Spalte (markieren und Rechtsklick -&gt Zellen löschen) und speichere die Mappe anschießend. Wenn du alles richtig gemacht hast, dann sollte beim nächstenmal Strg+Ende die tatsächlich letzte belegte Zeile/Spalte angezeigt werden, andernfalls: Prozedur wiederholen. Damit kannst du den benutzen Bereich weiter eingrenzen.


Anzeige
AW: leere Blattzeilen löschen - Routine
03.05.2013 13:33:53
Case
Hallo, :-)
vielleicht so - ohne Fehlerbehandlung:
Option Explicit
Public Sub Main()
Range("A:A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub
Servus
Case

Autsch ...
03.05.2013 13:39:44
Matthias
Hallo
Na da sind aber alle Daten futsch die zufällig in eine anderen Spalte stehen in deren Zeile die Spalte(A) leer ist!
Ob das so gewollt war? Es ging ja um leere Zeilen
Gruß Matthias

AW: Autsch ...
03.05.2013 13:44:03
merten
;-)
ja nun sind alle Daten weg. (da in Spalte A nicht unbedingt Daten vorhanden sind)
Eigentlich war es anders gedacht. nur leere Blattzeilen löschen, unabhängig ob in Spalte A oder AA ein Eintrag vorhanden ist.

Anzeige
AW: Autsch ...
03.05.2013 13:48:25
Case
Hallo, :-)

Servus
Case

Nee, nee ...
03.05.2013 14:07:45
Matthias
Hallo
Einfach abhauen gibts nicht ... ;-)

Gruß Matthias

OK - dann so...
03.05.2013 14:30:35
Case
Hallo, :-)
OK! OK! Hier meine Antwort... ;-)

Oder zur Not auch so... ;-)

Servus
Case

Gut jetzt :-) owT
03.05.2013 14:39:09
Matthias

AW: leere Blattzeilen löschen - Routine
05.05.2013 10:41:42
Hubert
Hallo
Warum nicht einfach einen Filter setzen, dann Leere auswählen und
dann die Zeilen löschen !?
Gruß, Hubert
Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige