ich habe folgendes grundsätzliches Problem:
Eine Excel-Applikation zur Aggregation von Daten aus mehreren Excel-Arbeitsmappen läuft unter
- WinXP und Excel2000 und
- Win2000 und Excel97 problemlos.
Unter Win2000 mit Excel2002 stürzt die Applikation bei Kopiervorgängen zwischen 2 Arbeitsmappen immer, aber willkürlich mit folgendem Fehler ab (aus dem Gedächtnis):
"Das Objekt wurde vom Client getrennt" und eine Fehlernummer á la -41273737373
Das hilft mir und Euch wahrscheinlich gar nichts ;-)
Allerdings steht der VBA-Cursor danach immer auf einer PasteSpecial-Zeile. Ich poste mal einen Auszug aus dem grundsätzlichen Kopiervorgang:
strName ist der Name der zu ladenden Arbeitsmappe, strSheet, der Name des Sheets, aus welchem Daten in "Kst_Kons.xls" kopiert werden soll.
Die zu ladenden Arbeitsmappen werden in einer Schleife geöffnet (Pseudo-Code):
For x=1 to Excel-workbooks
Öffne.TheseWorkbooks NameofWB, SheettoCopy
Next
Geöffnet werden die Arbeitsmappen mit:
Set SBook = Workbooks.Open(Filename:=strName, UpdateLinks:=0)
SBook.RunAutoMacros xlAutoDeactivate
...
Kopieraktionen
...
SBook.Close savechanges:=False
Set SBook = Nothing
Kopierroutine:
Sub Copy_Table_Data_DETMON(strName, strSheet As String)
Application.ScreenUpdating = False
Windows(strName).Activate
Sheets(strSheet).Select
Range("D7:H8").Select
Selection.Copy
Windows("Kst_Kons.xls").Activate
Sheets(strSheet).Select
Range("D7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:
= _
False, Transpose:=False
Windows(strName).Activate
Range("L7:P8").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Kst_Kons.xls").Activate
Range("L7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:
= _
False, Transpose:=False
...
...
...
Windows(strName).Activate
Range("AJ97:AL97").Select
Application.CutCopyMode = False
Selection.Copy
Windows("Kst_Kons.xls").Activate
Range("AJ97").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks:
= _
False, Transpose:=False
Range("A1").Select
Application.ScreenUpdating = False
End Sub
Ich weiß da im Moment echt nicht weiter, da die Applikation auf drei willkürlichen Rechnern problemlos läuft, allerdings nicht auf dem Zielrechner, auf dem ein Excel2002 läuft.
Achso, die Anwendung läuft lokal, also kein Netzwerkzugriff (wegen der Fehlermeldung).
Gruß Kay