nicht ganze Zeilen löschen
15.06.2009 18:55:42
Daniel
Hi
die ganzen Zeilen werden gelöscht, weil ich das so geschrieben habe.
aus deinem Beispiel und deiner Beschreibung war wahrscheinlich nicht deutlich genug ersichtlich, daß die Zellbereiche drumherum nicht geändert werden dürfen
so sollte es funktionieren, daß die Zellen nur in den Spalten D und E gelöscht werden:
Sub Löschen()
Intersect(Columns(4).SpecialCells(xlCellTypeBlanks).EntireRow, _
Columns(5).SpecialCells(xlCellTypeBlanks).EntireRow, _
Range("6:" & Rows.Count), Range("D:E")).Delete Shift:=xlup
End Sub
ein On Error Resume Next könnte man noch einbauen, weil die Specialcells-Funktion sonst mit einem Fehler abbricht, wenn keine passenden Zellen gefunden werden:
Sub Löschen()
on error resume next
Intersect(Columns(4).SpecialCells(xlCellTypeBlanks).EntireRow, _
Columns(5).SpecialCells(xlCellTypeBlanks).EntireRow, _
Range("6:" & Rows.Count), Range("D:E")).Delete Shift:=xlup
on error goto 0
End Sub
mit "on error" sollte man aber vorsichtig umgehen und nur die Codezeilen darin kapseln, die auch einen Fehler verursachen dürfen.
Gruß, Daniel