Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1704to1708
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makros per Shortcut starten im falschen Workbook

Makros per Shortcut starten im falschen Workbook
12.08.2019 11:52:06
Jens
Moin,
ich habe ein Workbook mit mehreren Makros incl. Shortcuts.
Das Workbook dupliziert sich selbst, das Duplikat erhält einen anderen Namen und importiert Daten.
Im Anschluss sind beide Workbooks geöffnet.
Im Duplikat werden die Makros unter Start/Makro mit Namen angezeigt, die des Ursprungsworkbooks mit Workbook-Namen vorweg.
Wenn ich jetzt im Duplikat ein Makro per Shortcut starte, wird immer das Makro im
Ursprungsworkbook gestartet? Muss dieses geschlossen werden oder gibt es eine Lösung?
Danke und Gruß,
Jens

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 11:57:11
Torsten
Hallo,
wie ist denn das Workbook referenziert?
Als "ThisWorkbook" oder mit dem Namen?
Wenn mit Name, dann ist klar, dass das Makro im Ursprungsworkbook gestartet wird.
Man muesste sich mal den Code ansehen.
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 12:06:31
Jens
Moin,
wo soll ich denn das Workbook referenzieren, wenn ein Makro per Shortcut aufgerufen wird?
Gruß,
Jens
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 12:30:48
Torsten
Ja im Code des Makros. Kannst du den Code oder die Datei mal zeigen, sonst wird dir niemand helfen koennen.
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 12:43:42
Jens
Hi Thorsten,
es geht nicht um falsche Referenzierung während eines Makroablaufs, es wird das Makro des falschen Workbooks gestartet!
In beiden Workbooks:
Sub Hallo() 'mit Shortcut STRG+h
msgbox "Hallo"
Stop
End Sub
Wenn ich das im Duplikat mit STRG+h aufrufe und mir bei Stop ansehe, welches Makro gerade läuft, dann ist das Hallo() im Ursprungsworkbook.
Gruß,
Jens
Anzeige
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 12:50:28
Jens
noch offen:-)
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 12:51:12
Torsten
Ja das ist doch, was ich meine. Wenn im Code auf das falsche Workbook verwiesen wird, dann wird der Code auch im falschen Workbook gestartet. Deswegen muesste man mal den gesamten Makrocode sehen des Makros, was mit dem Shortcut gestartet wird. Wenn im Code kein Workbook oder Worksheet referenziert ist, wird der Code immer im aktiven Workbook und Worksheet ausgefuehrt.
Also ist hier wohl das Ursprungsworkbook das aktive.
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 14:42:09
Jens
Hi Torsten,
es gibt doch in meinem Beispiel keine Referenzierung.
Das Duplikat ist auch das aktive Workbook, wenn ich STRG+h drücke!
Irgendwie scheint Excel beim Setzen des Shortcuts außer dem Makronamen auch das Workbook mit abzuspeichern. Konnte hierzu aber keine Hinweise finden.
Da das Duplikat eine 'savecopyas'-Kopie ist, wandert auch die Referenz auf das Workbook des Makros mit rüber!
Siehe einfaches Beispiel im Anhang:
Datei öffnen, Makro 'Duplizieren' ausführen und dann im automatisch geöffneten Duplikat 'Test2' STRG+h drücken.....
Gruß,
Jens
https://www.herber.de/bbs/user/131392.xlsm
Anzeige
Logisch-Du kopierst doch die Makros mit...
12.08.2019 14:57:39
robert
..daher in den Makros das Workbook abfragen oder die Makros in Test2 löschen.
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 14:59:35
Torsten
Ja du hast recht. aber bei mir fuehrt er auch den Makrocode im neu erstellten Duplikat aus. Wenn ich "Hallo" ausfuehre (im VBE oder Strg-H ist egal), wird mir "Test2.xlsm" angezeigt in der Message Box.
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 15:31:04
Jens
Hi Torsten,
ne, andersrum:-)
die msgbox habe ich nur eingefügt, weil Du meintes, dass ich evtl. das falsche workbook aktiviert habe.
Wenn das Makro in Test2 gestartet wird und Du dann beim 'Stop' im VBA Explorer nachschaust, wo das Makro läuft, wirst Du festellen, dass es in Test1 läuft, obwohl Test2 das aktive Workbook ist (siehe Msgbox).
Gruß,
Jens
Anzeige
Versuche mal auf meinen Tipp zu antworten..
12.08.2019 15:44:22
robert
AW: Versuche mal auf meinen Tipp zu antworten..
12.08.2019 15:51:50
Torsten
Das waere ja Quatsch, die Makros in Test2 zu loeschen. Er will ja das Makro in Test2 ausfuehren. Es wird aber in der Originaldatei ausgefuehrt.
Probier das aus...
12.08.2019 16:09:34
robert
hier die Datei,in welcher in der Test2 in B1 mit dem Strg+h Makro Bahnhof eingetragen wird
und nicht in der Ursprungsdatei.
Oder ich verstehe selbst nur "Bahnhof" :-)
https://www.herber.de/bbs/user/131396.xlsm
AW: Versuche mal auf meinen Tipp zu antworten..
12.08.2019 15:55:11
Jens
Hey Robert,
sorry, habe ich tatsächlich überlesen.
Da mehrere Duplikate erstellt werden, in die unterschiedliche .csv eingelesen werden werden, nützt da Löschen nichts.
Aber Du hast recht, ich muss dann in den Makros auf das ActiveWorkbook referenzieren. Dann werden die Makros zwar immer noch in irgendeiner anderen geöffneten Datei aufgerufen, aber Code bezieht sich immerhin auf die richtige Arbeitsmappe.
Ich hatte gehofft, es gibt bei der Zuweisung eines Makros über application.makrooptions-Methode die Möglichkeit, zum Makronamen auch noch das Workbook mit anzugeben.
Also Danke Dir,
Gruß,
Jens
Anzeige
AW: Versuche mal auf meinen Tipp zu antworten..
12.08.2019 16:07:37
Jens
Da fällt mir gerade auf:
Ich kann jetzt eine ganze Kaskade an Makros mit 'ActiveWorkbook' nachbessern, wo ich die 'Active's' doch immer zu vermeiden versuche:-(
.....oder auf Shortcuts verzichten.
Gruß,
Jens
oT: immer noch offen
12.08.2019 14:45:35
Jens
AW: Makros per Shortcut starten im falschen Workbook
12.08.2019 16:58:52
Jens
Ein kurzer Zwischen- oder wohl leider Endstand:
Bei der Zuweisung eines Shortcuts zu einem Makro, lässt sich das Workbook nicht referenzieren.
Auch
strMakro = ThisWorkbook.Name & "!Modul1.Hallo"
Application.MacroOptions strMakro, "Ansichtseinstellungen", , , True, "h"

hilft nichts, das Workbook wird nicht übernommen.
Da die Arbeitsmappe, aus der das Makro per Shortcut aufgerufen wird, auch die aktive ist, müssen wohl alle Makros so nachgebessert werden, dass die Methoden sich auf das ActiveWorkbook beziehen, egal in welcher Arbeitsmappe das Makro letztlich gestartet wird.
So mein jetziger Stand.
Anzeige
AW-Probier das aus-die Datei getestet?
12.08.2019 17:08:21
robert
AW: AW-Probier das aus-die Datei getestet?
12.08.2019 17:15:46
Jens
Hi Robert,
ich habe es angetestet, sieht - logischerweise - gut aus.
Einige Makros, in welchen nur Werte mittels Range gesetzt werden, laufen ja auch so, da ich das wkb nicht mit referenziert habe......in diesem Fall tatsächlich gut:-)
Wird aber noch einige Zeit in Anspruch nehmen.....
Danke Dir für die Hilfe,
Jens
AW: AW-Probier das aus-die Datei getestet?
12.08.2019 17:45:27
Jens
So Robert,
danke nochmal für den Hinweis: Ich bin recht schnell durch, da ich kaum ranges und sheets auf das Workbook referenziert hatte.
Allein die Zeilen mit 'ThisWorkbook' hatten die Fehler ausgelöst, wegen derer ich darauf gestoßen bin, dass das Makro im falschen Workbook gstartet wurde.
Umgewandelt in 'ActiveWorkbook'......und alles läuft:-)
Daumen hoch und Gruß,
Jens
Anzeige
Danke für Rückmeldung-Gruß
12.08.2019 19:41:22
robert

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige