vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Makro 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!!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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!!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Makro beim Aufruf einer zweiten(!) Excel-Arbeitsmappe ausführen 
Autor: V A T
Datum: 26.06.18 16:11

Info an alle Interessierten:

Nachdem ich dasselbe, was ich gestern schon mal probiert hatte, wieder probiert habe, funktioniert es plötzlich... Manchmal zweifelt man an sich selbst

Bei Aufruf von B wird zuerst Workbook_WindowDeactivate, danach das Workbook_Deactivate ausgelöst. Damit kann man dann die Userformen von A ausblenden.

Danke an alle, die geholfen haben!

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!!!

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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