ich habe eine Datenbank-Tabelle in Excel mit einigen doppelten Datensätzen, die ich löschen möchte. Dazu habe ich mir folgenden Code ausgedacht, der von allen Datensätzen einige Daten in eine Variable pro Datensatz schreibt und dann lass ich die Zeilen miteinander vergleichen und doppelte löschen:
An der markierten Stelle hängt sich der Debugger auf und markiert "Datum" als ungültigen Bezeichner. Was soll das? Ich bin ratlos, vielleicht kann mir jemand helfen. Danke im Voraus
Christian
Private Sub test()
Dim Datum(2000) As Date
Dim Ueb(2000) As Long
Dim SL(2000), TL(2000) As String
Dim Bonus(2000) As Long
Dim i, z, a, b As Long
Dim tempdatum(2000) As Date
Dim tempueb(2000) As Long
Dim tempsl(2000), temptl(2000) As String
Dim tempbonus(2000) As Long
Sheets("Daten").Activate
i = SpecialCells.LastCell.Row
'Sämtliche Daten in Vektoren schreiben
For z = 2 To i
Datum(z) = Cells(z, 1).Date
Ueb(z) = Cells(z, 2).Value
SL(z) = Cells(z, 6).Text
TL(z) = Cells(z, 7).Text
Bonus(z) = Cells(z, 10).Value
Next
'Eine Zeile aussuchen und mit allen anderen vergleichen
For a = 2 To i
tempdatum = Datum(a).Date
tempueb = Ueb(a).Value
tempsl = SL(a).Text
temptl = TL(a).Text
tempbonus = Bonus(a).Value
For b = 2 To i
If b <> a Then
If tempdatum = Datum(b) Then ****Hier hängt sich der Debugger auf
If tempueb = Ueb(b) Then
If tempsl = SL(b) Then
If temptl = TL(b) Then
If tempbonus = Bonus(b) Then
Rows(b).Delete
End If
End If
End If
End If
End If
End If
Next
Next
End Sub