Hallo liebe VBA-Gemeinde.
Ich habe folgendes Problem:
In einem Excelmodell habe ich in den Worksheets 3-32 Kursdaten von den DAX30 Aktien der letzten Jahre aufgelistet. In der Spalte A befindet sich jeweils das Datum. Im Worksheet 2 befinden sich die Kursdaten des gleichen Zeitraumes für den gesamten DAX. Da in den Worksheets der Einzeltitel aber auch einige Feiertage eingetragen wurden, möchte ich einen automatischen Abgleich der Worksheets 3-32 mit dem Sheet 2 und Excel soll automatisch die Zeilen löschen, deren Wert (Datum) in Spalte A nicht auch im Worksheet 2 enthalten ist. Ziel ist es, dass ich in allen Worksheets die gleiche Zeilenanzahl habe, wie im Worksheet 2.
Ich habe hier folgenden Code, der aber leider nicht korrekt arbeitet.
Sub suchenUndDatumLoeschen()
'MsgBox Worksheets(j).Name
Dim i, j As Integer
Dim c As Variant
i = 2
For j = 3 To 32
'worksheet nr ´2 = dax sheet
While (Not IsEmpty(Worksheets(j).Cells(i, 1)))
'MsgBox Worksheets(2).Name
With Worksheets(2).Range("a:a")
'MsgBox Worksheets(j).Cells(i, 1)
Set c = .Find(What:=Worksheets(j).Cells(i, 1).Value, LookAt:=xlWhole)
If c Is Nothing Then
'zeile löschen
'MsgBox i & ":" & i
Worksheets(j).Rows(i & ":" & i).Delete Shift:=xlUp
Else
'MsgBox "Wert gefunden"
End If
End With
i = i + 1
Wend
Next j 'nächstes worksheet
End Sub
Für einen Tipp oder eine Idee wäre ich echt dankbar:)
VG
Henry
|