11.05.2017, 13:06 (Dieser Beitrag wurde zuletzt bearbeitet: 11.05.2017, 13:52 von Bydo.)
Hallo zusammen,
ich habe eine Tabelle mit 22.000 Ids, welche ich in einer 55.000 Zeilen großen Bestandstabelle Suche und bei Treffer einen Wert in einer Nachbarspalte überprüfe. Je nach Zusammenstellung wird etwas in eine dritte Tabelle ausgespeichert.
Mein Problem: Dieser Vorgang dauer 20 Minuten+ (ich habe den Prozess an dieser Stelle beendet). Wieso braucht der Rechner so lange und wie kann ich die Arbeit zügiger erledigen lassen?
Beispieltabelle mit Code liegt anbei, vorab vielen Dank und viele Grüße
die Werte aus der Tabelle "Prüfliste" Spalte B sollen in der Tabelle "Inventar" in den Spalten C und D gesucht werden. Bei Treffer wird Spalte F auf die Werte "aktiv" oder "wartend" überprüft.
Hallo steve1da, verstehe deine Bitte nicht, meinst du damit sofern ich eine Antwort auf einer der Platformen erhalte, diese auf den anderen Platformen ersichtlich ist?
Set rngTreffer = Sheets("Inventar").Columns(3).Resize(, 2).Find(Sheets("Prüfliste").Cells(CHECKROW, 2).Value, LookIn:=xlValue, lookat:=xlWhole, SearchOrder:=xlByRows) If Not rngTreffer Is Nothing Then If Sheets("Inventar").Cells(rngTreffer.Row, 3).Value = "aktiv" Or Sheets("Inventar").Cells(rngTreffer.Row, 6).Value = "wartend" Then Else Sheets("Ausgabe").Cells(OUTPUTROW, 5).Value = Sheets("Inventar").Cells(rngTreffer.Row, 2).Value Sheets("Ausgabe").Cells(OUTPUTROW, 6).Value = Sheets("Inventar").Cells(rngTreffer.Row, 5).Value Sheets("Ausgabe").Cells(OUTPUTROW, 7).Value = Sheets("Inventar").Cells(rngTreffer.Row, 6).Value End If Else Sheets("Ausgabe").Cells(OUTPUTROW, 5).Resize(,3).Value = "nicht gefunden" End If
' For INVENTROW = Sheets("Inventar").Range("A" & Rows.Count).End(3)(1).Row To 2 Step -1 ' If Sheets("Inventar").Cells(INVENTROW, 3).Value = Sheets("Prüfliste").Cells(CHECKROW, 2).Value Then ' If Sheets("Inventar").Cells(INVENTROW, 6).Value = "aktiv" Or Sheets("Inventar").Cells(INVENTROW, 6).Value = "wartend" Then ' Exit For ' Else ' Sheets("Ausgabe").Cells(OUTPUTROW, 5).Value = Sheets("Inventar").Cells(INVENTROW, 2).Value ' Sheets("Ausgabe").Cells(OUTPUTROW, 6).Value = Sheets("Inventar").Cells(INVENTROW, 5).Value ' Sheets("Ausgabe").Cells(OUTPUTROW, 7).Value = Sheets("Inventar").Cells(INVENTROW, 6).Value ' Exit For ' End If ' End If ' If Sheets("Inventar").Cells(INVENTROW, 4).Value = Sheets("Prüfliste").Cells(CHECKROW, 2).Value Then ' If Sheets("Inventar").Cells(INVENTROW, 6).Value = "aktiv" Or Sheets("Inventar").Cells(INVENTROW, 6).Value = "wartend" Then ' Exit For ' Else ' Sheets("Ausgabe").Cells(OUTPUTROW, 5).Value = Sheets("Inventar").Cells(INVENTROW, 2).Value ' Sheets("Ausgabe").Cells(OUTPUTROW, 6).Value = Sheets("Inventar").Cells(INVENTROW, 5).Value ' Sheets("Ausgabe").Cells(OUTPUTROW, 7).Value = Sheets("Inventar").Cells(INVENTROW, 6).Value ' Exit For ' End If ' End If ' If INVENTROW = 2 Then ' Sheets("Ausgabe").Cells(OUTPUTROW, 5).Value = "nicht gefunden" ' Sheets("Ausgabe").Cells(OUTPUTROW, 6).Value = "nicht gefunden" ' Sheets("Ausgabe").Cells(OUTPUTROW, 7).Value = "nicht gefunden" ' End If ' Next INVENTROW Next CHECKROW