ich habe einen kleinen Code geschrieben der aus einer Tabelle anhand von drei Kriterien einen Wert finden und ihn in eine Matrix schreiben soll:
Sub Schaltfläche2_KlickenSieAuf()
For k = 11 To 1961
For j = 5 To 117
For i = 6 To 22605
If Sheets("Chartverlauf").Cells(k, 1) = Sheets("2004-2005").Cells(i, 3) Then
If Sheets("Chartverlauf").Cells(k, 2) = Sheets("2004-2005").Cells(i, 4) Then
If Sheets("Chartverlauf").Cells(1, j) = Sheets("2004-2005").Cells(i, 1) Then
Sheets("Chartverlauf").Cells(k, j) = Sheets("2004-2005").Cells(i, 2)
Exit For
End If
End If
End If
Next
Next
Next
ActiveWorkbook.Save
End Sub
Der Code funktioniert wunderbar, ist aber viel zu langsam. Hat jemand eine Idee, wie man das beschleunigen könnte? Mit 'Exit For' habe ich ja schon dafür gesorgt, dass bei einem Fund nicht weiter gesucht wird. Das hat aber trotzdem nicht viel gebracht. Für die ersten 300 Zeilen hat mein Rechner (Core Duo 2,76 Ghz) ca. 4 Stunden gebraucht.
Hintergrund: Im Sheet "Chartverlauf" ist eine Liste von 1961 Musikstücken, also Interpreten (Kriterium 1) und Titeln (Kriterium 2). In den darauf folgenden 113 Spalten sollen die Chartpositionen für die jeweilige Chartwoche (Überschrift der jeweiligen Spalte (Kriterium 3)) aus dem Sheet "2004-2005" kopiert werden. Hier sind die Top 200 Charts für alle Wochen von zwei Jahren aneinandergereiht (22600 Einträge).
Vielen Dank!