Anzeige
Archiv - Navigation
1156to1160
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

Zellen 'richtig' löschen/leeren

Zellen 'richtig' löschen/leeren
TommiH
Hallo,
ich habe ein Problem mit nicht ganz leeren Zellen.
Ich habe mehrere Datenblatter in einem File, die in den ersten 10-300 Zeilen Inhalt stehen haben der formatiert ist. Nun sind leider auch nach der letzten Zeile (die kann ich identifizieren), auch noch Formate (aber keine Inhalte) vorhanden.
Wenn ich händisch in die Zeile (y+2) gehe und diese markiere, dann mit SHIFT-ENDE-DOWN nach unten springe und dann mit der rechten Maustaste 'ZELLEN LÖSCHEN' eingebe, dann ist der Bereich komplett leer.
Ich habe das mal versucht als Makro aufzuzeichnen, aber mit dem Code klappt es nicht. Der Code läuft durch, aber es wird anscheinend nicht gelöscht. Am Ende springt er dann noch in Zelle A1
Rows(y + 2).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Der Punkt ist, wenn ich den Bereich nicht lösche, ist meine Datei 12,6 MB groß - wenn ich händisch nur von den ersten 10 Blättern die Bereiche lösche, dann bin ich schon auf 11,8 MB (und es sind rund 70 Blätter)
Kann mir jemand einen Tip geben, wie ich den Bereich nach Zeile (y+2) komplett entsorgen kann?
Tommi

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellen 'richtig' löschen/leeren
20.05.2010 13:18:30
Rudi
Hallo,
Range(cells(y+2,1),cells(rows.count,1)).entirerow.delete
Gruß
Rudi
AW: Zellen 'richtig' löschen/leeren
20.05.2010 13:33:04
TommiH
Hallo Rudi,
statt meinem gesamten Code? Dann ist das Ergebnis ist leider das selbe wie bei mir, die Datei ist nach dem Abspeichern immer noch 12,6 MB groß.
Wenn ich alle Blätter markiere und in Zeile 450 gehe und dann (global) nach dem geschilderten Verfahren lösche, dann hat die Datei nur noch knapp 5,5 MB, also irgendwas klappt noch nicht so ganz, oder hätte ich nicht meinen ganzen Code ersetzen sollen?
Tommi
AW: Zellen 'richtig' löschen/leeren
20.05.2010 13:51:09
Rudi
Hallo,
teste das mal:
Sub ttt()
Dim wks As Worksheet
For Each wks In Worksheets
With wks
.Range(.Cells(Rows.Count, 1), .Cells(Rows.Count, 1).End(xlUp).Offset(1)).EntireRow.Delete
End With
Next wks
End Sub

Gruß
Rudi
Anzeige
AW: Zellen 'richtig' löschen/leeren
20.05.2010 14:12:12
TommiH
Hallo Rudi,
danke! - das wars - ich habe noch die Count,1 durch eine Count,2 ersetzt (die zweiten Spalte ist eine Zeile länger und enthält immer Infos, wenn in einer Zeile überhaupt etwas steht).
Aber nun ist die Datei von 12,6 MB auf 1,3 MB geschrumpft, das ist schon recht perfekt ;)
Ich überlege nur grade, ob man das auch für die Spalten nutzen könnte, wenn ich weiss in welcher Zeile (10) die längste Spalte ist und ich dahinter den Rest auch CLEANEN möchte...
.Range(.Cells(10, Cols.Count), .Cells(10, Cols.Count).End(xlLeft).Offset(1)).EntireCol.Delete
Tommi
Spalten löschen
20.05.2010 14:18:46
Rudi
Hallo,
du musst nur den OffSet richtig schreiben.
.Range(.Cells(10, Cols.Count), .Cells(10, Cols.Count).End(xlLeft).Offset(0,1)).EntireCol.Delete
Gruß
Rudi
Anzeige
AW: Spalten löschen
20.05.2010 14:31:35
TommiH
Hm, kann es sein, dass Cols da aber nicht stimmt? Den Offsett habe ich mal auf 0,1 angepasst, aber da kommt nur ein Laufzeitfehler. Muss da statt Cols evtl. Columns stehen? Und statt Col Column?
Tommi
warum testest du das nicht einfach? owT
20.05.2010 14:46:41
Rudi
AW: warum testest du das nicht einfach? owT
20.05.2010 14:49:38
TommiH
Ich _habe_ es getestet, in verschiedenen Varianten, bleibt leider beim Laufzeitfehler...
Tommi
AW: Spalten löschen
20.05.2010 15:15:31
Rudi
.Range(.Cells(10, Columns.Count), .Cells(10, Columns.Count).End(xlToLeft).Offset(0, 1)).EntireColumn.Delete

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige