AW: Anzahl Zeilen im Markierten Bereich
22.07.2009 21:07:02
Daniel
Hi
einzelne Zellen löschen ist sehr langsam.
schneller wirds, wenn die Zeilen so zusammensortiert werden können, daß die Zu löschenenden Zeilen einen zusammenhängenden Block bilden.
Wenn deine Tabelle sortierbar ist und nach Spalte AA keine weiteren Daten mehr enthält, dann brauchst du doch eigentlich nur den ganzen Zellbereich zu markieren und zu sortieren, weil leere Zellen immer ans Ende sortiert werden.
alternativ geht auch diesen Makro, die orginalsortierung bleibt erhalten:
Sub löschen()
Dim sp As Long
With ActiveSheet.UsedRange
sp = WorksheetFunction.Min(27, .Column + .Columns.Count - 1)
With .Columns(.Columns.Count).Offset(0, 1)
.FormulaR1C1 = "=if(counta(RC1:RC" & sp & ")=0,"""",Row())"
.Formula = .Value
.EntireRow.Sort key1:=.Cells(1, 1), header:=xlNo
On Error Resume Next
.SpecialCells(xlCellTypeBlanks).EntireRow.Clear
On Error GoTo 0
.Clear
End With
End With
End Sub
bei diesem Makro werden Anzahl Zeilen und Anzahl Spalten automatisch ermittelt (geprüft wird aber nur bis zur Spalte AA).
Gruß, Daniel
ps: ein schnellers Makro zum löschen deiner Daten wirst du wahrscheinlich kaum finden.