Window.Activate liefert Laufzeitfehler
11.02.2009 11:49:00
Wissensdurst
nach langer Zeit der Abstinenz führt mich mal wieder ein Problem zu Euch, das mich in den Wahnsinn treibt. Die Lösung ist höchstwahrscheinlich banal, doch ich hab schon ein paar Stunden rumgebastelt und recherchiert, aber es klappt nicht.
Mein Problem: Ich will beim Beenden einer Datei (hier: Datei1) einen Zellbereich aus dieser Datei in eine andere (hier: Datei2 )kopieren. Wenn Datei2 bereits geöffnet, soll eer den Code abbrechen. Der Code wird in Datei1 ausgeführt und bringt immer bei dem Befehl "Windows("C:\Datei2.xlsx").Activate" den Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.
Hier mein Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Workbooks.Open("C:\Datei2.xlsx").ReadOnly = True Then
GoTo Ende
End If
Workbooks.Open Filename:= _
"C:\Datei2.xlsx"
Cells.ClearContents
Range("A1").Select
Windows("C:\Datei1.xlsx").Activate
Range("A15:G400").Copy
Windows("C:\Datei2.xlsx").Activate
ActiveSheet.Paste
Ende:
End Sub
Am Dateinamen kann es nicht liegen, denn er öffnet mir die Datei ja bereits vorher. Ich hoffe, Ihr könnt mir da irgendwie weiterhelfen, ich bin nämlich ratlos ;)
Vielen Dank im Voraus
Christian