Microsoft Excel

Herbers Excel/VBA-Archiv

Makro Workbooks.open macht nicht das was ich will

    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

      


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




      


    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


      


    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


      


    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


      


    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