ich möchte gern in den Bereich "2:zz200" alle Werte löschen die nicht "U" oder F" sind. Mit diesem Macro:
Sub löschen5()
Dim Zelle As Range
Dim Bereich As Range
For Each Zelle In ActiveSheet.UsedRange 'Range("d2:zz200")
If Zelle Range("U") And Zelle "F" Then
If Bereich Is Nothing Then Set Bereich = Zelle
Set Bereich = Application.Union(Bereich, Zelle)
End If
Next Zelle
Bereich.Select
'Bereich.Clear
'Der Sauberkeit wegen!
Set Zelle = Nothing
Set Bereich = Nothing
End Sub
Dies Funktioniert zwar schon aber es ist sehr langsam.Mein neuer Versuch ist:
Sub löschen()
Dim u
With ActiveSheet.Range("d2:ag200")
.Replace What:="U", Replacement:="", LookAt:=xlPart, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
.Replace What:="F", Replacement:="", LookAt:=xlPart, _
MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End With
End Sub
Dies ist schon deutlich schneller. Aber zur Zeit macht es genau das Gegenteil. Es löscht mir alle "U" und alle "F".Nun dachte ich mir, ich mach einfach aus diesem Teil Replace What:="U" , dies hier Replace What:"U".
Leider bekomme ich dann eine Fehlermeldung " Fehler beim komplimentieren".
Gibt es da vielleicht ein Trick? Oder weiß jemand wie ich das erste Macro schneller bekomme?
Habt schon mal recht vielen dank für euer Interesse.
mfg thomas