habe eine Arbeitsmappe erstellt mit der Artikelstammdaten verglichen und bearbeitet werden.
In Sheet1 werden aus einer Lieferantendatei alle lieferbaren Artikel eingelesen, in Sheet2 die bereits im Warenwirtschaftssystem vorhandenen Artikel dieses Lieferanten.
Danach werden datensatzweise die Artikel aus Sheet1 mit denen aus Sheet2 verglichen. Wenn dabei ein Artikel in Sheet2 nicht gefunden wird, also neu ist, wird dieser ins Sheet3 kopiert.
Wenn die Artikelnummer sowohl in Sheet1 als auch in Sheet2 vorhanden ist, werden alle Eintraege (28 zu jeden Artikel) verglichen. Werden dabei Abweichungen festgestellt, wird zunaechst der Datensatz aus Sheet1 ins Sheet4 kopiert, danach direkt darunter der entsprechende Datensatz aus Sheet2.
Im Einzelschrittmodus habe ich festgestellt, dass genau an dieser Stelle mein Problem sitzt. Aber nur wenn die Datei recht umfangreich ist (ca. 10 MB, 11.000 Datensaetze in Sheet1, 13.000 in Sheet2).
Dieses Kopieren dauert selbst auf einem 1,5 GHz PC bis zu einer Sekunde.
Wie ich kopiere, ob
Sh1.Range(Cells(Zeile1, 2), Cells(Zeile1, 29)).Copy
Sh4.Select
Cells(Zeile4, 2).PasteSpecial Paste:=xlValues
oder
Sh1.Range(Cells(Zeile1, 2), Cells(Zeile1, 29)).Copy Sh4.Cells(Zeile4, 2)
hat auf die Zeitdauer keine sruerbare Auswirkung.
Speicherproblem? Allerdings sind keine Festplattenzugriffe zu sehen.
Das Verhalten ist auf versch. PCs und sowohl unter Excel 97 also auch Excel 2000 das gleiche.
Hat jemand eine Idee?
Gruss Volker