Excel-VBA: Andere, geöffnete Excel-Datei speichern?
Hallo zusammen,
Ich denke, eine sehr einfache Frage für VBA-Experten, die ich durch googlen aber nicht lösen kann.
Ich habe 2 verschiedene Excel-Dateien (bsp. '1.xls' & '2.xls').
Beide Dateien sind in Excel geöffnet.
Ich möchte jetzt per Button in '1.xls' die zweite Datei (also '2.xls') speichern können.
Folgendes habe ich getestet, was nicht funktioniert:
Dateinameneu = Range("H6") & "-" & 2.xls.Name
2.xls.SaveAs "C://Dokumente/"&Dateinameneu
Ich kenne das leider nur mit "ActiveWorkbook.Saveas", aber ich will ja die andere Datei speichern.
WICHTIG! 'Saveas' muss es sein, da die Datei '2.xls' wie ihr in dem Codebeispiel sehen könnt, nachher anders heißen soll.
Danke im Voraus!
Dennis
3 Antworten
Mit Workbooks erlangst du Zugriff auf die geöffneten Arbeitsmappen.
Bei dir sollte es Workbooks("2.xls") sein.
Was spricht denn dagegen, die andere -schon offene- Datei zu ativieren (ist ein Fenster-Befehl, kein Datei-Befehl) , also
Windows("zu speichernde Datei").activate
...saveAs...
anschließend wieder Windows("gewünschteDatei").activate
Ein VBA-Makro läuft ja weiter, solange die es enthaltende Datei offen ist, egal, welche gerade aktiv ist!
Die Infos zum speichern_unter sollte man allerdings vorher in (Text-)Variablen im Makro festschreiben
was heisst denn 2.xls.SaveAs?
Workbooks("2.xls").SaveAs ...