VBA - Speichern unter - Original offen lassen
Hi!
Dachte nicht, dass ich wieder so schnell Hilfe von den Profis benötige.
Mein Problem:
Ich möchte gerne per VBA eine 1:1-Kope einer bestehenden Datei erzeugen.
Dazu habe ich mir folgenden Code "zusammengebastelt":
Sub Kopie_1_1()
Application.ScreenUpdating = False
Sheets("Test").Select
fname = InputBox("Eingabe Pfad und Dateiname", , "C:\tmp\Originalkopie.xls")
If fname = "" Then GoTo Abbruch
MsgBox "Der Name der Ausgabedatei lautet " & fname
ActiveWorkbook.SaveAs Filename:=fname, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Exit Sub
Abbruch:
MsgBox "Der Kopiervorgang wurde abgebrochen.", vbExclamation, "Hinweis --> aus Makro 1_1_Kopie"
Application.ScreenUpdating = True
End Sub
Leider wird die Originaldatei geschlossen und die Kopie ist offen.
Kann man die Kopie im "Hintergrund" speichern und die Originaldatei offen lassen?
Frage 2:
Besteht die Möglichkeit nur ein bestimmtes Blatt zu kopieren?
Ciao
Tom
Antwort schreiben
Antwort 1 von Hajo_Zi vom 13.02.2020, 10:20 OptionsLösung
Hallo Tom,
.SaveCopyAs
Gruß Hajo
Antwort 2 von Tomschi vom 13.02.2020, 10:50 Options
Hi!
Danke, dass Du Dich meiner Problemstellung so rasch angenommen hast!
Ich habe nunmehr
ActiveWorkbook.SaveAs durch
ActiveWorkbook.SavecopyAs ersetzt und jetzt die Meldung
Fehler biem Kompilieren:
Bekanntes Argument nicht gefunden
erhalten.
Markiert wird "FileFormat:=".
Hast Du zufällig eine Ahnung woran dies liegt?
Kennst Du vielleicht auch eine Antwort auf meine "Frage 2"?
Ciao
Tom
Antwort 3 von meinTipp vom 13.02.2020, 10:55 Options
Hallo Tom,
ActiveWorkbook.SaveCopyAs fname
sollte reichen. Weitere Argumente werden nicht verlang (angenommen).
Gruss Rolf
Antwort 4 von Tomschi vom 13.02.2020, 12:22 Options
Mahlzeit!
Okay, ohne die "Zusatzangaben" läuft das Makro.
Vielen DANK die sich an der Problemlösung beteiligt haben!
lg
Tom