Supportnet / Forum / Tabellenkalkulation
Makro aus geschlossender Tabelle ausführen
Frage
Hallo liebe Helfer
So langsam werde ich hier zum Dauerbrenner :=)
Folgendes Problem liegt diesmal an:
Ich hab eine freigegebene exceltabelle. In diesem Zustand kann ich manche Makros nicht ausführen.
An dieser Stelle. Gibt es hier irgendwelche Tricks, damit es doch funktioniert???
Meine Idee ist jetzt dass ich eine 2.Datei erstell die nicht freigegeben ist. In dieser nicht freigegebenen Datei lasse ich die Makros ausführen, die im freigegebenen Zustand nicht funkionieren.
Ich weiß das im freigegebenen Zustand Makros die nur kopieren laufen.
Jetzt sag ich das Zelle A1 der freigegebenen Datei gleich der Zelle A1 der nichtfreigegebenen Datei ist.
Nun muss nur noch die nichtfreigegene Datei aktualiesiert d.h. das Makro "aktualisieren" ausgeführt werden und das aus der freigegebenen Datei.
Wie lautet jetzt der Befehl:
Nochmals kurze Zusammenfassung:
Aus einer freigegebenen Datei muss ein Makro gestartet werden, dass ein Makro in einer geschlossenen nichtfreigegebenen Datei ausführt.
Danke für eure Antworten
gez.
Hardwarehacker
Antwort 1 von Saarbauer
Hallo,
habe hier im Support vor längerer Zeit ein sollcher Fall behandelt, kann die Abhandlung aber nicht finden.
Wenn ich mich recht erinnere wurde die "geschlossene" Tabelle vom Makro geöffnet und auch wieder geschlossen.
Gruß
Helmut
habe hier im Support vor längerer Zeit ein sollcher Fall behandelt, kann die Abhandlung aber nicht finden.
Wenn ich mich recht erinnere wurde die "geschlossene" Tabelle vom Makro geöffnet und auch wieder geschlossen.
Gruß
Helmut
Antwort 2 von Hardwarehacker
Suche immer per google und im über die supportnetsuche und habe auch nichts gefunden.
OK ich geb also ein auto_open befehl ein aber wie heißt dann der Befehl um ein Makro aus einer anderen Datei auszuführen??
gez.
Hardwarehacker
OK ich geb also ein auto_open befehl ein aber wie heißt dann der Befehl um ein Makro aus einer anderen Datei auszuführen??
gez.
Hardwarehacker
Antwort 3 von coros
Hi Hardwarehacker,
miot nachfolgendem Makro kannst Du ein Makro in einer Exceldatei starten. Kopiere es in ein StandardModul.
Set Exceldatei = GetObject("D:\Mappe1.xls")
muss der Pfad und der Dateiname, die das aufzurufende Makro enthält, eingetragen werden. In der Zeile
Exceldatei.Application.Run (Exceldatei.Name & "!Testmakro")
muss das Wort „Testmakro“ gegen den Makronamen des aufzurufenden Makros ausgewechselt werden. Das Anführungszeichen (!) muss dabei aber stehen bleiben.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
miot nachfolgendem Makro kannst Du ein Makro in einer Exceldatei starten. Kopiere es in ein StandardModul.
Option Explicit
Sub Makro_in_anderer_Exceldatei_starten()
Dim Exceldatei As Excel.Workbook
Application.ScreenUpdating = False
Set Exceldatei = GetObject("D:\Mappe1.xls")
Exceldatei.Application.Run (Exceldatei.Name & "!Testmakro")
End Sub
Du musst allerdings noch einige Anpassungen vornehmen. In der ZeileSet Exceldatei = GetObject("D:\Mappe1.xls")
muss der Pfad und der Dateiname, die das aufzurufende Makro enthält, eingetragen werden. In der Zeile
Exceldatei.Application.Run (Exceldatei.Name & "!Testmakro")
muss das Wort „Testmakro“ gegen den Makronamen des aufzurufenden Makros ausgewechselt werden. Das Anführungszeichen (!) muss dabei aber stehen bleiben.
Ich hoffe, Du kommst klar. Bei Fragen oder Problemen melde Dich.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von Hardwarehacker
Herzlichen Dank Oliver
Funktioniert super
Danke nochmal
gez.
Hardwarehacker
Funktioniert super
Danke nochmal
gez.
Hardwarehacker
Antwort 5 von coros
Moin Hardwarehacker,
gern geschehen. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
gern geschehen. Danke Dir auch für die Rückmeldung.
MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 6 von peko
Danke, hab ich auch gesucht!
Gruß peko
Gruß peko
Antwort 7 von Beverly
Hi Oliver,
Klasse Code. Am Ende solltest du aber noch 2 Befehlszeilen ergänzen
Andernfalls kann die andere Arbeitsmappe in derselben Sitzung nicht mehr geöffnet werden. Die Variable sollte außerdem geleert werden.
Bis später,
Karin
Klasse Code. Am Ende solltest du aber noch 2 Befehlszeilen ergänzen
Exceldatei.Close
Set Exceldatei = Nothing
Andernfalls kann die andere Arbeitsmappe in derselben Sitzung nicht mehr geöffnet werden. Die Variable sollte außerdem geleert werden.
Bis später,
Karin

