Datenbereinigung / Zuordnung VBA
31.05.2005 16:50:27
Florian
hab ein Problem mit VBA-Code, hab jetzt schon mehrere Varianten durchgespielt, weiß aber nicht wo der Fehler liegt.
Geht um Datenbereinigung bzw. Zuordnung bei Wertpapieren.
Ich hab eine reihe Wertpapiere und eine Exotenliste. In letzterer stehen alle Datensätze, die ausgeschlossen werden sollen. D.h., immer wenn ein Wertpapier (WKN, 1. Spalte bei beiden Sheets) in beiden Blättern auftaucht, soll die Zeile gelöscht werden (in einem neuen Sheet, in das vorher alles kopiert wird).
Vielleicht kann sich ja mal jemand den Code anschaun,
Vielen Dank!
Gruß Florian
Sub BereinigenNachExoten()
' Bereingt die Daten wie folgt:
' - alle mit open-end Laufzeit raus (nur sofern schon eingetragen)
' - alle mit Knock-In oder ähnlichem raus
Dim i As Integer, EndZeileLaufzeit As Integer
Dim j As Integer, EndSpalteLaufzeit As Integer
Dim k As Integer, EndZeileExoten As Integer
Dim Xs As Worksheet, Ls As Worksheet, Exoten As Worksheet
Sheets.Add
ActiveSheet.Name = "Bereinigt_nach_Exoten"
Set Ls = Sheets("Bereinigt_nach_Laufzeit")
Set Xs = Sheets("Bereinigt_nach_Exoten")
Set Exoten = Sheets("Exotenliste")
Ls.Range("a1:s1").Copy
Xs.Range("a1:s1").PasteSpecial (xlPasteAll)
EndZeileLaufzeit = Ls.UsedRange.Rows.Count
EndZeileExoten = Exoten.UsedRange.Rows.Count
Ls.Range("a:a").NumberFormat = "@"
Exoten.Range("a:a").NumberFormat = "@"
' Call LeerzeichenInText1
' Call LeerzeichenInText2
' Löscht Zertifikat dann, wenn gleiche WKN in Sheet "Bereinigt nach Laufzeit" und in
' "Exotenliste" auftaucht
k = 2
For i = 2 To EndZeileLaufzeit
If Ls.Cells(i, 1) <> Exoten.Cells(k, 1) Then
Xs.Cells(i, 1) = Ls.Cells(i, 1)
Xs.Cells(i, 2) = Ls.Cells(i, 2)
Xs.Cells(i, 3) = Ls.Cells(i, 3)
Else
Xs.Cells(i, 1).Rows.Clear
End If
k = k + 1
Next i
Call LeereZeilenLoschen
End Sub
https://www.herber.de/bbs/user/23439.xls