Makro Workbooks.open macht nicht das was ich will

Bild

Betrifft: Makro Workbooks.open macht nicht das was ich will
von: bernhard
Geschrieben am: 29.09.2003 10:50:27

Hallo zusammen,
wer kann mir kurz weiterhelfen?

Problem:
Ich starte mit Workbooks.open mit VBA ein neues ExcelWorkbook welches in über die Funktion on.open eine Sub startet.
wenn ich die Exceldatei von Hand öffne funzt alles ganz prima.
Leider nicht wenn ich mit Workbooks.open darauf zugreife.

Was muss ich VBA mitgeben damit das Progaramm 2 ordentlich läuft und nach Beendigung das Programm 1 weiter macht?

Da gabs doch was ich find's nur nicht!

besten Dank für eure Antworten
Bernhard

Bild


Betrifft: Glaskugel - wo ist der Code?
von: Michael Scheffler
Geschrieben am: 29.09.2003 11:05:32




Bild


Betrifft: AW: Makro Workbooks.open macht nicht das was ich will
von: bernhard
Geschrieben am: 29.09.2003 11:12:13

Der Code sieht zum Beispiel so aus

Mappe 1
Programmzeile irgendwo im Code:

Workbooks.Open ("Mappe2.xls")

Mappe 2


Private Sub Workbook_Open()
Daten_kopieren
End Sub


Die Routiene in Mappe2 is wird zwar gestartet aber verschiedene Ereignisse werden nicht richtig ausgeführt was zu Fehlern führt.

Gruß
Bernhard


Bild


Betrifft: AW: Makro Workbooks.open macht nicht das was ich will
von: Koenig W.
Geschrieben am: 29.09.2003 11:37:06

Hallo Bernhard,
ich würde im Code der Mappe 1 nach dem Öffnen der Mappe 2 das Makro gezielt aufrufen und
nicht durch das Ereignis sub Workbook open.
Ohne es getestet zu haben, könnte ich mir vorstellen, dass dein Code in Mappe 2 auf Elemente zugreift wie ActiveCell, das dann aber eben in MAppe 1 steht.
Gruss Wilhelm


Bild


Betrifft: AW: Makro Workbooks.open macht nicht das was ich will
von: bernhard
Geschrieben am: 29.09.2003 11:45:42

Hallo Wilhelm,
danke erst mal für deine Antwort.
Diese Idee habe ich auch schon verfolgt leider meckert dann aber VB (Objekt nicht vorhanden) was ja auch richtig ist weil die Prozedur erst nach öffnen der neuen Mappe vorhanden ist. Hmmmmmm....

Ich dachte da kann man VB doch irgendwie steuern das der Prozess an die neue Mappe abgegeben wird. Ähnlich der Funktion application.EnableEvents die genau das Gegenteil bewirkt. Nur leider die Funktion finde ich nicht.


Gruß
Bernhard


Bild


Betrifft: AW: Lösung gefunden
von: Bernhard
Geschrieben am: 29.09.2003 13:27:24

Hallo nochmal

Die Lösung war ganz einfach wie so oft sieht man den Wald vor Bäumen nicht.

Application.Run ("Mappe2.xls!Daten_kopieren") und schon funzt alles.

Das on Workbooksopen Ereignis musste ich natürlich ausschalten. War wohl der falsche Ansatz. Trotzdem Danke für eure Hinweise.

Gruß
Bernhard


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Feiertage"