Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1964to1968
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

Makro in anderer Datei weiterlaufen lassen

Makro in anderer Datei weiterlaufen lassen
14.02.2024 19:09:24
Hecktor086
Hallo zusammen,

kurz zu mir, ich bin relativ unerfahren was VBA angeht, und erstelle so manches Makro anhand der Aufzeichne-Funktion oder passenden Tutorials.
Jetzt habe ich allerdings ein Problem, das ich nicht mehr selbst gelöst bekomme. Folgende Situation:
Ich habe ein Excelblatt, welches bearbeitet wird, wenn die Bearbeitung abgeschlossen ist, wird an einer Checkbox ein Haken gesetzt.
Dieser Haken soll dazu führen, dass die Datei gespeichert wird und in einen anderen Ordner verschoben wird.
-> Haken geht, Makro löst aus, speichern funktioniert.
Weil ich eine geöffnete Arbeitsmappe nicht verschieben kann und nach dem Schließen das Makro nicht mehr funktioniert, habe ich mir eine Hilfsdatei angelegt, in die der zu verschiebende Dateiname reinkopiert wird.
-> nachdem also die Quelldatei gespeichert wurde, öffnet die Hilfsdatei und der filename wird einkopiert, dann schließt die Quelldatei.
Mein Gedanke war nun, dass ich per call auf das Makro in der Hilfsdatei zugreife, um die Quelldatei zu verschieben. Das scheint aber nicht zu gehen, da diese ja geschlossen wurde und das Makro dann einfach abbricht.

Das Makro zum Verschieben der Quelldatei funktioniert übrigens, wenn ich es in der Hilfsdatei direkt ausführe.

Wie könnte ich hier weiter verfahren?
Meine Idee wäre, dass ich in der Hilfsdatei eine Befehlsschaltfläche einbaue, die geklickt werden muss, damit dort das Makro weiterläuft, dies würde mich mir aber gerne sparen, wenn es nicht unbedingt sein muss.

Ich bin vorab schon sehr dankbar über mögliche Lösungsvorschläge.

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 19:54:39
onur
ICH würde es so machen:
Datei1 öffnet beim Schliessen Datei2.
Datei2 hat nur die Funktion, (ggf nach ein paar Sekunden Wartezeit) Datei 1 umzubennen bzw zu Verschieben und schliesst sich danach automatisch.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:07:51
Hecktor086
ja, das ist ja auch erstmal mein Gedanke, nur sobald Datei 1 geschlossen ist bricht das Makro ab, weil sozusagen die "Zugmaschine" abgehängt wurde.
Deshalb braucht m.E. Datei 2 eine "Selbstfahrfunktion" und die fehlt mir noch, außer ich aktiviere diese eben durch einen neuen Button.

Habe jetzt aber noch die Idee die Datei an dem neuen Ort nochmal zu speichern (.saveas) und die ursprüngliche einfach zu löschen, dann muss ich nicht hin und her wechseln.
Anzeige
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:09:21
onur
Datei 2 hat doch eigenes Makro.....
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:13:09
Hecktor086
ja richtig nur wird das makro ja von datei ein angesprochen - und das bricht dann an der stelle ab wo datei1 geschlossen wird
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:15:26
onur
Nochmal: Datei 1 öffnet Datei 2 und schliesst sich selbst.
Datei2 bleibt offen und startet das Makro.
Danach schliesst sich auch Datei2.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:17:00
onur
Datei2 bleibt offen und startet SEIN EGENES Makro.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:19:37
onur
noch PRÄZISER.
Datei2 bleibt offen und startet SEIN EGENES Makro, das wiederum die Datei1 umbenennt/verschiebt.

Alles klar soweit ?
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:24:27
Hecktor086
ok, soweit klar, aber kann ich das makro aus Datei2 mit dem Makro aus Datei1 starten, wenn ja- wie?
Anzeige
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:27:25
onur
Datei 2 enthält sein Makro im Modul "DieseArbeitsmappe" und heisst Sub Workbook_Open().
Jeglicher Code dadrin wird AUTOMATISCH bei Öffnen der Datei gestartet.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:30:15
onur
Wie gesagt, wenn du eine Verzögerung einbaust, wird das erst ein paar Sekunden später gestartet:
Private Sub Workbook_Open()

Dim zi
ti = Timer'Ab hier 5 sec warten
While Timer - ti 5
Wend
'AB HIER DEIN CODE ZUM UMBENNENEN DER DATEI1
End Sub
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:30:57
onur
DIM ti und nicht zi.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:34:57
Hecktor086
ok, vielen Dank, werde ich morgen mal versuchen, vielleicht liegts tatsächlich an der Verzögerung.
Anzeige
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:37:39
onur
Es liegt NICHT daran, dass deine Version KEINE Verzöerung hat, sondern daran, dass deine Version so nicht funktionieren KANN.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 20:46:07
Hecktor086
weil ich das makro2 mit call abrufe und nicht mit Workbook_Open() direkt nach dem Öffnen ausführe?
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 21:21:44
onur
JA. Alles, was du mit der ERSTEN Datei aufgerufen hast, "stirbt" mit der ersten Datei, wenn sie geschlossen wird. Du sägst dir sozusagen den Ast ab, auf dem du sitzt.
AW: Makro in anderer Datei weiterlaufen lassen
14.02.2024 21:26:15
Hecktor086
ja genau, so ist es - das hab ich auch gemerkt, hab eben nur nicht an die Workbook_Open() - Funktion gedacht.
Danke dafür - manchmal sieht man den Wald vor lauter Bäumen nicht mehr und die Lösung ist total einfach.
Anzeige
Gerne !
14.02.2024 21:31:54
onur
Denke nur daran:
"weil ich das makro2 mit call abrufe und nicht mit Workbook_Open() direkt nach dem Öffnen ausführe? "
müsste korrekterweidse heissen:
"weil ich das makro2 mit call aus der 1. Datei abrufe und nicht mit Workbook_Open() der zweiten Datei direkt nach dem Öffnen ausführe?
AW: Gerne !
15.02.2024 04:57:30
onur
Aber eigentlich musst du doch nur die Datei1 unter anderem Namen/Verzeichnis mit SaveAs speichern und schon kannst du die alte Version löschen.
Verschieben macht ja im Prinzip auch nix anderes.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige