Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Beenden von Makro nach Öffnen anderer Datei

Beenden von Makro nach Öffnen anderer Datei
06.07.2018 11:01:08
Makro
Guten Tag,
ich habe folgendes Problem:
In einer Excel 2010 Arbeitsmappe (A) erstelle ich über ein Makro eine Kopie einer anderen Excel-Datei (B) und öffne diese dann (das ganze funktioniert über eine UserForm der Arbeitsmappe (A) ).
Die erstellte Arbeitsmappe (B) besitzt ebenfalls Makros, welche direkt beim Start ausgeführt werden (z.B. Userform öffnen).
Das funktioniert an sich alles sehr gut, mein Problem ist, dass mit Öffnen der Arbeitsmappe (B) das Makro von (A) nicht mehr zu Ende ausgeführt werden (z.B. das Schließen der Userform von (A).
Gibt es dafür Lösungen? Ich hoffe meine Erklärung war einiger Maßen verständlich.
Vielen Dank vorab
Stefan
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Beenden von Makro nach Öffnen anderer Datei
06.07.2018 11:10:15
Makro
Hi
Schalte vor dem Öffnen das Ausführen der Events aus.
Hinterher das Einschalten nicht vergessen.
Application.EnableEnvents = False
Workbooks.Open Dateiname
Application.EnableEvents = True

Gruß Daniel
AW: Beenden von Makro nach Öffnen anderer Datei
06.07.2018 11:24:54
Makro
Hallo Daniel,
danke für deine schnelle Antwort.
Wenn ich die Events ausschalte, werden vermutlich die beim Start hinterlegten Makros der Arbeitsmappe (B) nicht ausgeführt. Wenn ich die Event später wieder aktiviere, ist das Start-Event der Mappe (B) dann vorbei und die Makro werden nicht ausgeführt?
Das wäre dann auch nicht was ich brauche. Oder ich müsste dann über die Mappe (A) die eigentlichen Start-Makros von (B) starten!?
Gibt es dazu Anregungen?
Gruß Stefan
Anzeige
AW: Beenden von Makro nach Öffnen anderer Datei
06.07.2018 11:41:46
Makro
Richtig, wenn du die Events ausschaltest, wird das Workbook-Open-Event von Mappe B beim Öffnen nicht ausgeführt.
Man müsste jetzt genau wissen, was passieren soll und wie die Userforms interagieren und ob es Modale oder nicht Modale Userformen sind.
was sich hier auch zum Erfolg führen kann, wenn die Userform von MappeA noch geschlossen werden soll ist folgendes:
1. Lagere das Öffnen der MappeB und alle Aktionen die dann noch mit dieser Datei ausgeführt werden sollen in ein eigenes Makro in einem allgemeinen Modul aus.
2. Starte dieses Makro nicht mit CALL Makroname, sondern mit Application.Ontime "Makroname", Now
das hat zur folge, dass dieses Makro dann erst ausgeführt wird nachdem die laufenden Makros vollständig ausgeführt wurden, dh deine Userform A kann geschlossen werden, bevor die Mappe B geöffnet wird.
Gruß Daniel
Anzeige
AW: Beenden von Makro nach Öffnen anderer Datei
06.07.2018 13:07:17
Makro
Hallo Daniel,
vielen dank für die Hilfe.
Application.Ontime scheint zu funktionieren. War noch ein wenig tricky einen Parameter mit zu übergeben, aber auch das hat dank vergangener Einträge in diesem Forum geklappt.
Application.OnTime Now, "'ÖffneVerfahren""" & FileName & """'"

Besten Dank.
Stefan
Anzeige
AW: Beenden von Makro nach Öffnen anderer Datei
06.07.2018 13:17:45
Makro
HI
wenn das mit der Parameterübergabe nicht klappt, kann man auch eine Projektweit gültige Variable deklarierten.
So eine projektweit gültige Variable kann von alle Makros in der Datei gelesen und beschrieben werden.
der Wert so einer Variable bleibt nach Makroende natürlich erhalten.
um eine Projektweit gültige Variable zu erstellen, muss man sie in einem allgemeinen Modul oberhalb der Makros mit Public deklarieren.
In den Makros seblst darf diese Variable dann nicht nochmal deklariert werden.
Option Explict
Public FileName as string
Parameterübergabe ist zwar der reinen Lehre nach der sauberere Weg, aber so geht's auch.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige