Code löscht alles, wenn nur noch weniger als 180
07.12.2008 12:42:00
Wolfgang
beim Testen stolpere ich darüber, dass der untenstehende Code, wenn sich in Spalte Q keine Zahlen höher als 180 mehr befinden, alles umkopiert bzw. löscht. Wie lässt sich das evtl. abfangen, damit die Zeilen mit 180 und darunter auch stehen bleiben? - Danke schon jetzt für die Rückmeldungen.
Gruß - Wolfgang
Option Explicit
Sub FilternUndKopieren()
Application.ScreenUpdating = False
Sheets("Grunddaten").CheckBox1 = 0
With Sheets("Grunddaten")
.Unprotect
.Range("A1").Autofilter Field:=17, Criteria1:=">180"
Intersect(.Columns("A:R"), .Range(.Rows(2), .Rows(.Range("a1").CurrentRegion.Rows.Count))). _
_
Copy
Sheets("Altdaten").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormats
Sheets("Altdaten").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
.Range(.Rows(2), .Rows(.Range("a1").CurrentRegion.Rows.Count)).EntireRow.Delete shift:=xlUp
.Range("A1").Autofilter
.AutoFilterMode = False
.Application.CutCopyMode = False
End With
'löscht in Grunddaten und Altdaten die Leerzeilen
On Error Resume Next
Sheets("Grunddaten").UsedRange.Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Sheets("Altdaten").UsedRange.Columns(1).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
Sheets("Grunddaten").CheckBox1 = 1
Application.ScreenUpdating = True
End Sub