Hallo, folgendes Programm liest Daten aus SAP und speichert diese in einer Exceltabelle. Bei folgender for-Schleife kommt bei dem ca. 400ten Datensatz (insgesammt sind es 527) ein Laufzeitfehler 13 - Typen unverträglich. Komisch daran ist, dass dieser Fehler nur kommt wenn ich das Programm automatisch durchlaufen lasse bzw. im Debugmodus F8 die ganze Zeit gedrückt halte. Wenn ich ab Datensatz 400 die For-Schleife langsam durchsteppe läuft es ohne Fehlermeldung korrekt zu Ende
Hier der Fehlerhafte ausschnitt aus dem Code... Fehler kommt in der For-Schleife
'Deaktivierung der automatischen Zellberechnung
Application.Calculation = xlCalculationManual
'Löschen der alten Inhalte
DATA.Range(DATA.Cells(2, 5), DATA.Cells(50000, 6)).ClearContents
'Laufen über jede Zeile der GridView und schreiben der Werte in Tabelle DATA
With DATA
Dim k As Integer
For k = 0 To olGridView.RowCount - 1
.Cells(k + 2, 5).Value = olGridView.GetCellValue(k, "MATNR")
.Cells(k + 2, 6).Value = Int(Replace(olGridView.GetCellValue(k, "MVGR4"), ".", ""))
'Neusetzen der aktuellen Zelle in jeder 30. Zeile, dass keine Leerstrings geliefert werden
If (k Mod 30 = 0) Then olGridView.SetCurrentCell k, "MATNR"
'Ladebalken berechnen
qp.Report.setPercent (k + 1) / olGridView.RowCount
Next k
'Automatische Zellberechnung wieder aktivieren
Application.Calculation = xlCalculationAutomatic
Wie gesagt irgendwo bei Datensatz 400-450 kommt dieser Fehler.
Ich habe das Programm nicht geshrieben, sondern soll jetzt nur dafür sorgen, dass es wieder funktioniert.
Allerdings sitzte ich jetzt schon einen halben Tag davor und weiss nicht woran das liegen könnte.
In der Tabelle sind auch keine außergewöhnlichen Datensätze - es sind sich immer wiederholende Matnr.
Hat jemand eine Idee was hier falsch läuft
Vielen Dank
lurchi
|