| |
Visual-Basic EinsteigerMakro beim Aufruf einer zweiten(!) Excel-Arbeitsmappe ausführen | | | Autor: V A T | Datum: 24.06.18 14:38 |
| Hallo,
ich habe eine Frage, die ich bisher durch Googlen nicht lösen konnte. Jetzt hoffe ich auf Eure bewährte Hilfe. Mein Dank vorab an alle, die mir zu helfen versuchen. Ich weiß das zu schätzen!!!
Die Ausgangssituation:
Ich habe eine xlsm-Datei "A.xlsm", in der Makros ausgeführt werden, wenn ich von einem auf ein anderes Tabellenblatt derselben Datei wechsle (Worksheet_Activate bzw. Worksheet_Dectivate). Das funktioniert problemlos.
Mein Problem:
Wenn ich jetzt jedoch eine weitere Excel-Datei "B.xls(m/x)" öffne, dann kommt diese Datei logischerweise in den Fokus. Die A.xlms bleibt im Hintergrund ist aber weiter offen und auch das Arbeitsblatt wird nicht gewechselt. Ergo: Ich kann in diesem Moment (Wechsel von A zu B) kein Makro auslösen.
Die konkrete Frage:
Ich suche ein Ereignis (oder einen entsprechenden Workaround), welches ich in die "A.xlsm" einbauen kann, sodass beim Start einer weiteren Tabelle in dieser Excel-Instanz ein Makro ausgeführt wird.
Hat da jemand eine Idee?
Gruß
Magico777
Vielen Dank an alle in diesem Forum, welche mir Ihre Zeit schenken und sich mit meinen Problemen befassen! Ich weiß das ernsthaft zu schätzen und danke allen, die sich mit dieser Frage befassen herzlich!!! | |
Re: Makro beim Aufruf einer zweiten(!) Excel-Arbeitsmappe ausführen | | | Autor: Souffleurlos | Datum: 24.06.18 17:58 |
| Hallo V A T,
doch ... das WorkBook_Open Event wird ausgelöst, wenn eine neue Workbook geöffnet wird. In diesem Augenblick kannst Du über die Application.workbooks-Auflistung (Application.Workbooks( ... ) erfragen, was für eine Workbook das ist und dementsprechend reagierenn. Das Event findest du in de Excel-Objekten: ThisWorkbook (oder dieseArbeitspmappe). Workbooks haben eine Methode: RunAutoMacros.
Für manche Dinge ist es eine Kunst instanziierte Objekte über mehrere Excel-Runtimes zu halten. Die Lösung ist eine in ThisWorkbook global angelegte Instanz einer Collection, die diese Instanzen verwaltet. Nicht ganz einfach gleich zu sehen, aber easy wenn man es mal gemacht hat.
Unter uns: Das ist ein Gefuddel - warum willst Du dir das antun? | |
Re: Makro beim Aufruf einer zweiten(!) Excel-Arbeitsmappe ausführen | | | Autor: V A T | Datum: 24.06.18 19:19 |
| Hallo Souffleurlos,
danke für Deine Hilfe - ich fürchte, da bin ich raus, das hört sich für mich (Amateur) nach böhmischen Dörfern an...sorry.
Nochmal zur Warum-Frage: A ist geöffnet und wird vom Anwender bearbeitet. Was ich nun will ist, dass falls(!) ein Benutzer manuell eine zusätzliche Arbeitsmappe (B) öffnet, das Makro aus A ausgeführt wird.
Hintergrund zum besseren Verständnis: In A werden User-Formen angezeigt, welche hilfreiche Funktionen bereitstellen. Diese sind in Tabelle B (egal, welche der Benutzer da manuell aufruft), aber völlig unsinnig, sollen also bei Nutzung von B ausgeblendet sein. Da A aber im Hintergrund noch offen ist, bleiben die Formen sichtbar. Deshalb suche ich ein Ereignis, dass mir wenn der Fokus von A zu B wechselt das Makro startet, welches die User-Formen schließt.
Gruß
Magico777
Vielen Dank an alle in diesem Forum, welche mir Ihre Zeit schenken und sich mit meinen Problemen befassen! Ich weiß das ernsthaft zu schätzen und danke allen, die sich mit dieser Frage befassen herzlich!!! | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats TOP! Unser Nr. 1
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|