I einen MacRob in WorkbookB zu schreiben versuchen, das eine andere WorkbookA öffnet und läuft macroA in sheet1.führen einen VBA-Makro in einer Arbeitsmappe von einer anderen Arbeitsmappe
ich gegoogelt und fand zwei Methoden:
Application.Run
Dim i As Integer, en As Integer en = Range("B4") Application.Run "C\Mtest\WorkbookA.xlsb !macroA"
verwenden aber ich habe den Fehler 1004: entweder die Makro-Dosis nicht in diesem Blatt gefunden werden oder das Makro ist
deaktivieren
Verwendung
RunAutoMacros
Workbooks.Open "C\Mtest\WorkbookA.xlsb" Workbooks("WorkbookA.xlsb").Worksheets("sheet1").Activate ActiveWorkbook.RunAutoMacros macroA
Und hier bekomme ich den Fehler: 1004 die Methode RunAutoMacros funktioniert nicht.
Irgendeine Idee, was ist falsch? Oder wie kann ich es besser machen?
Der einfachste Weg, verwenden ein Makro hinzufügen zu Ihrer XLSTART-Datei, so dass sie an alle geöffneten Excel-Instanzen angehängt wird (gespeichert als .xla oder .xlam). Der Speicherort der Datei sollte% USERPROFILE% \ AppData \ Roaming \ Microsoft \ Excel \ XLSTART für Win7 und neuer sein. Ich persönlich tendiere dazu, schnelle Ribbon Buttons an das Makro anzuhängen, wenn ich es oft genug laufen lasse. – Cyril