Eine Verknüpfung für zwei Makros (Microsoft Excel)
William hat zwei Arbeitsmappen, die jeweils Makros enthalten. Obwohl die Makros unterschiedlich sind, werden sie mit derselben Tastenkombination aufgerufen. Wenn nur eine der Arbeitsmappen geöffnet ist, funktioniert die Verknüpfung hervorragend. Wenn beide Arbeitsmappen gleichzeitig geöffnet sind, weiß William nie genau, was ausgeführt wird. Er fragt sich, ob es für Excel eine Möglichkeit gibt, die Verknüpfungen unabhängig voneinander zu behandeln, sodass die Tastaturkürzel harmonisch funktionieren, wenn beide Arbeitsmappen geöffnet sind.
Die kurze Antwort lautet, dass es keine Möglichkeit gibt, dies zu erreichen, ohne einige Änderungen an den Makros selbst vorzunehmen. Tastenkombinationen sind „global“
auf die Instanz der Anwendung, die ausgeführt wird (in diesem Fall Excel). Beim Öffnen von Arbeitsmappen werden ihre Verknüpfungen zu einer internen Tabelle hinzugefügt, die als Index aller Verknüpfungen und des Makros fungiert, für dessen Ausführung sie bestimmt sind.
Dieser Index scheint alphabetisch nach Arbeitsmappennamen sortiert zu sein. Wenn Sie eine Tastenkombination verwenden, überprüft Excel den Index und wählt die erste passende Verknüpfung im Index aus. Auch wenn Sie eine Verknüpfung haben, die eine der integrierten Verknüpfungen verwendet, wird das erstellte Makro immer vor der integrierten ausgeführt. Wenn die Makros denselben Namen haben, wird das erste geöffnete ausgeführt.
Da die von Excel verwaltete Indextabelle von der Anwendungsinstanz erstellt wird, können Sie den Konflikt umgehen, indem Sie sicherstellen, dass Sie jede Arbeitsmappe in einer eigenen Excel-Instanz öffnen. Verwenden Sie nicht das Dialogfeld Öffnen, um die zweite Arbeitsmappe zu laden. Doppelklicken Sie stattdessen in Windows auf das Symbol der Arbeitsmappe.
Wenn Sie nicht mehr daran denken, die Arbeitsmappen auf diese Weise zu öffnen, besteht die einzige andere Möglichkeit darin, Änderungen an Makros vorzunehmen. Die einfache Änderung besteht darin, die Tastenkombinationen so zu ändern, dass sie nicht identisch sind. Sie können dieselben Tastenkombinationen beibehalten, indem Sie am Anfang jedes Makros Code hinzufügen. Lassen Sie jedes Makro den Namen der aktiven Arbeitsmappe überprüfen. Wenn der Name mit dem erwarteten Namen für dieses Makro übereinstimmt, kann der Code weiter ausgeführt werden. Wenn es nicht übereinstimmt, kann der Code die andere Arbeitsmappe aktivieren und das Makro in dieser direkt ausführen.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2872) gilt für Microsoft Excel 97, 2000, 2002 und 2003.