Supportnet Computer
Planet of Tech

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

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

Antwort 3 von coros

Hi Hardwarehacker,

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 Zeile

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.

Antwort 4 von Hardwarehacker

Herzlichen Dank Oliver

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.

Antwort 6 von peko

Danke, hab ich auch gesucht!

Gruß peko

Antwort 7 von Beverly

Hi Oliver,

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