Also wo löscht er denn genau? In Datenbank und Datenbank_Alt? In deinem Code ist ja nur ein Delete bei Datenbank. Ich kann jetzt nicht erkennen, wo er noch was löscht,
Für alle die auch mal schauen wollen, hier nochmal der Code (lesbarer :-) )
Sub AlteAZUBI()
End Sub
'Soll Schaltfläche "Aktualisieren" in "Datenbank" zugeordnet werden
'Zieht alte Azubis (über 4.Lehrjahr) aus der Datenbank und fügt sie Datenbank_Alt
'i,s und j als ganzzahlige Zahlen (Integer) definiert
Dim i As Integer
Dim s As Integer
Dim j As Integer
'Groestezeile, Groestezeile2 und Groestezeile3 als sehr große ganzzahlige Zahlen definiert
Dim Groestezeile As Long
Dim Groestezeile2 As Long
Dim Groestezeile3 As Long
'Ermittelt die letzte Zeile in Datenbank
With Worksheets("Datenbank")
Groestezeile = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row)
Debug.Print
Groestezeile Groestezeile = .Columns(1).Find("*", .Cells(1, 1), xlValues, xlWhole, , xlPrevious).Row
Debug.Print Groestezeile
End With 'Ermittelt die letzte Zeile in Datenbank_Alt
With Worksheets("Datenbank_Alt")
Groestezeile2 = IIf(Len(.Cells(.Rows.Count, 1)), .Rows.Count, .Cells(.Rows.Count, 1).End(xlUp).Row)
Debug.Print Groestezeile2
Groestezeile2 = .Columns(1).Find("*", .Cells(1, 1), xlValues, xlWhole, , xlPrevious).Row
Debug.Print Groestezeile2
End With
'Überprüft das Datum Ausbilungsende jedes Azubis mit dem heutigen
'und kopiert das überschrittene Datum in Datenbank_Alt
j = 1
'Zählt von 8 bis Groestezeile
For i = 8 To Groestezeile
'Bedingung prüft ob Wert1 kleiner als Wert2
If Worksheets("Datenbank").Cells(i, 10) < Worksheets("Menü").Cells(49, 5) Then
Worksheets("Datenbank").Rows(i).Copy
Worksheets("Datenbank_Alt").Rows(Groestezeile2 + 1).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Worksheets("Datenbank").Rows(i).Delete
End If
Next i
End Sub
'Das ist mein bisheriger Code Next i
|