Hallo liebe excelaner,
ich bräuchte jetzt auch mal Hilfe, nachdem ich mich bisher ziemlich gut mit euren anderen Einträgen zurechtgefunden habe.
Ich habe in einer Datei x drei Makros erstellt (Farbeaendern, FormatierenAbschluss und Farbeuebertragen). Habe diese drei durch
Application.Run „Dateiname.xls’!Farbenaendern“ …
durch ein weiteres Makro (Name : Formatierung) nacheinander gestartet und mir in einem Tabellen-Blatt einen Button gemacht, der dieses Makros aufruft. Hat auch perfekt geklappt.
Nun möchte ich aber für eine weitere Messung die Datei mit den neuen Daten anders benennen (z.B. Dateinname-1.xls) und dann auch wieder das Makro in der neuen Datei ausführen. Dies funktioniert natürlich nur solange, wie die alte Datei noch offen ist (z.B. im Hintergrund). Nun meine Frage : Wie kann ich mein Makro verändern, sodass ich es nach speichern der Datei unter neuem Namen auch in der neuen Datei aufrufen kann?
Also müsste im Prinzip sich automatisch
Application.Run „Dateiname.xls’!Farbenaendern“ im Makro in Application.Run „Dateiname-1.xls’!Farbenaendern“ ändern.
Vielen Dank für Eure Mühen
Johanna
Hallo liebe excelaner,
ich bräuchte jetzt auch mal Hilfe, nachdem ich mich bisher ziemlich gut mit euren anderen Einträgen zurechtgefunden habe.
Ich habe in einer Datei x drei Makros erstellt (Farbeaendern, FormatierenAbschluss und Farbeuebertragen). Habe diese drei durch
Application.Run „Dateiname.xls’!Farbenaendern“ …
durch ein weiteres Makro (Name : Formatierung) nacheinander gestartet und mir in einem Tabellen-Blatt einen Button gemacht, der dieses Makros aufruft. Hat auch perfekt geklappt.
Nun möchte ich aber für eine weitere Messung die Datei mit den neuen Daten anders benennen (z.B. Dateinname-1.xls) und dann auch wieder das Makro in der neuen Datei ausführen. Dies funktioniert natürlich nur solange, wie die alte Datei noch offen ist (z.B. im Hintergrund). Nun meine Frage : Wie kann ich mein Makro verändern, sodass ich es nach speichern der Datei unter neuem Namen auch in der neuen Datei aufrufen kann?
Also müsste im Prinzip sich automatisch Application.Run „Dateiname.xls’!Farbenaendern“ im Makro in
Application.Run „Dateiname-1.xls’!Farbenaendern“ ändern.
Vielen Dank für Eure Mühen
Johanna
Liebe Johanna,
sofern ich Deine Frage richtig verstanden habe, hast Du in der geschilderten Situation anstatt der Arbeitsmappe „Dateiname.xls“ jetzt die Mappe „Dateiname-1.xls“ offen. Ich nehme an, diese ist die aktive Arbeitsmappe. Dann ändere die Anweisung
von
Application.Run „‚Dateiname.xls‘!Makro“
in
Application.Run „’“ & ActiveWorkbook.Name & „’!Makro“
wobei hier „Makro“ für Deine jeweiligen Makronamen steht, und schon müsste es gehen. Wenn Du das ganze nicht auf die aktive Mappe beziehen möchtest, kannst Du den (neuen) Namen auch in eine Variable MappenName$ speichern und der Aufruf lautet dann
Application.Run „’“ & MappenName & „’!Makro“
Im Übrigen großes Lob für Deinen Experimentier-Sinn, ich hatte die Funktion „Run“ bisher noch nie ausprobiert.
Gruß
Mim
Hallo Mim,
vielen Dank für Deine prompte Hilfe, ich werde es direkt am Montag ausprobieren und es Dich wissen lassen ob es funktioniert hat.
Beste Grüsse
Johanna
Hallo Mim,
vielen Dank für Deine prompte Hilfe, ich werde es direkt am Montag ausprobieren und es Dich wissen lassen ob es funktioniert hat.
Beste Grüsse
Johanna
Hallo Johanna,
würd’ mich echt freuen, wenn’s funktioniert (bei mir tat’s das, aber eben ob es auf Deine Situation übertragbar ist, …), vor allem aber, wenn Du mir das entsprechende Feed-Back gibst (ist dann nicht so 'ne BlackBox)
Gruß
Mim
Hallo Mim,
es funktioniert perfekt vielen Dank nochmal.
Beste Grüsse
Johanna