ich möchte gern das unten stehende Macro vom Tabellenblatt "von hier fehlerhaft" starten. Dabei tritt das Problem auf das immer die zweite zeile vom Blatt " für Kalender" gelöscht wird obwohl Sie den Bedingungen entspricht. Starte ich das Macro aus dem Blatt "für Kalender" funktioniert alles tadellos.
ich komme einfach nicht auf das Geheimnis.
Da die Erklärung womöglich nicht eindeutig ist habe ich ein beispiel erstellt.
https://www.herber.de/bbs/user/103159.xlsm
Könnt ihr bitte mal schauen was ich falsch mache?
besten dank schon mal im voraus
liebe grüsse thomas
Sub Datum_Kleiner_als_bestimmte_Zelle_löschen()
Dim rng As Range
Dim lngLast As Long, lngR As Long
Dim CalculationMode As Long
With Worksheets("für kalender")
.Range("c2:i2000").Sort Key1:=.Range("f1"), _
Order1:=xlAscending, Header:=xlYes
End With
With Worksheets("für kalender")
'* lösche alle zeilen wenn in spalte e datum grösser ist
'als in zelle angegeben werden erst danach an richtige stell gesetzt
lngLast = Sheets("für kalender").Application.Max(2, _
.Cells(.Rows.Count, 5).End(xlUp).Row)
For lngR = 2 To lngLast
If .Cells(lngR, 6) Sheets("für kalender").Range("b1") Then
If rng Is Nothing Then
Set rng = .Cells(lngR, 6)
Else
Set rng = Union(rng, .Cells(lngR, 6))
End If
End If
Next
If Not rng Is Nothing Then rng.EntireRow.Delete
End With
End Sub