Ich habe eine Excelliste (Tabellenblatt "Master"), die Informationen zu Aktien enthält, unter anderen die Valorennummer.
Periodisch erhalte ich ein Liste der gehandelten Aktien, die unter anderen ebenfalls die Valorennummer enhält. Diese Liste wird formatiert und im Tabellenblatt "SAPExport" gespeichert.
Anschliessend ergänzt mein Programm die "SAPExport"-Liste mit den für SAP notwendigen Informationen anhand des Tabellenblattes "Master" bzw. des eindeutigen Kriteriums/Suchbegriffs "Valorennummer.
Dazu gehe ich in der entsprechenden Spalte des SAPExport-Blattes jede Zelle "w" durch und suche im Master-Blatt alle Zellen der entsprechenden Spalte nach einem Treffer durch (m=m+1).
Eigentlich funktioniert das Modul einwandfrei, lediglich das Laufzeitverhalten ist schlecht, d.h. bei ein paar Tausend Titeln beträgt die Wartezeit mindestens 2, 3 Minuten.
Hat jemand eine Idee, wie nachfolgender Code performanter gestaltet werden kann. Ich danke jetzt schon vielmals.
Gruss Heinz
Do While Not IsEmpty(ThisWorkbook.Worksheets("SAPExport").Cells(w, 1).Value)
Do While ThisWorkbook.Worksheets("SAPExport").Cells(w, 2).Value ThisWorkbook.Worksheets("Master").Cells(m, 2).Value
m = m + 1 'Blatt "Master" wird nach Übereinstimmung durchsucht
If IsEmpty(ThisWorkbook.Worksheets("Rechnung").Cells(m, 1).Value) Then
fondsmatch = False 'keine Übereinstimmung, d.h. neuer Titel, d.h. Blatt "Master" neue Aktientitel nachpflegen
GoTo fondfehler 'Eintrag Zeilennummer
End If
Loop
Abgleichen 'Aktientitel gefunden, die Informationen werden im Modul "Abgleichen" ergänzt
w = w + 1 'nächster Aktientitel
m = 1 'Zurücksetzung des Mastertabellenblattes
Loop