Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
616to620
616to620
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenbereinigung / Zuordnung VBA

Datenbereinigung / Zuordnung VBA
31.05.2005 16:50:27
Florian
Hi Excelfreunde,
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbereinigung / Zuordnung VBA
01.06.2005 16:02:44
EffHa
Hallo Florian,
wenn ich das richtig sehe, musst Du wohl mit dem ersten Wert der einen Tabelle, die zweite Tabelle abgrasen.
Also in etwa so:
For i = 2 To letztezeiletab1
For j = 2 To letztezeiletab2
If tab1.Cells(i, 1) = tab2.Cells(j, 1) Then
tab1.Rows(i).Delete 'wenn übereinstimmung Zeile in Tab1 löschen
End If
Next
Next

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige