ich habe eine xl-datei in der ich ein Makro (u. a. Autofilter) ausführe.
Nun möchte ich gerne in dieses Makro nach dem Filtern die Möglichkeit
haben, dass "Datei speichern unter" erscheint. Nachdem ich den Pfad und
den neuen Dateinamen vergeben habe, soll das ursprüngliche Makro in der
ursprünglichen Datei fortgesetzt werden (Autofilter ausschalten, Sheet
schützen mit Passwort usw.) Das Makro vor und nach dem "Speichern unter"
habe ich soweit. Was noch nicht klappt, ist das "Speicher unter" selbst.
Ich habe es mit GetSaveAsFilename versucht, aber da wird nichts
gespeichert. SaveAs alleine reicht auch nicht aus, weil er dann die
ursprüngliche Datei überschreiben will. Ich kann aber auch kein Name und
Pfad vorgeben, weil der sich immer wieder ändert.
Hoffe ich habe mich klar ausgedrückt. Wäre nett, wenn mir jemand helfen
könnte.
Gruß
Daniela
"Daniela Handlin" <daniela...@web.de> schrieb im Newsbeitrag
news:%23H%23JtsiT...@TK2MSFTNGP02.phx.gbl...
> Guten Abend,
>
> ich habe eine xl-datei in der ich ein Makro (u. a. Autofilter) ausführe.
> Nun möchte ich gerne in dieses Makro nach dem Filtern die Möglichkeit
> haben, dass "Datei speichern unter" erscheint. Nachdem ich den Pfad und
> den neuen Dateinamen vergeben habe, soll das ursprüngliche Makro in der
> ursprünglichen Datei fortgesetzt werden (Autofilter ausschalten, Sheet
> schützen mit Passwort usw.) Das Makro vor und nach dem "Speichern unter"
> habe ich soweit. Was noch nicht klappt, ist das "Speicher unter" selbst.
> Ich habe es mit GetSaveAsFilename versucht, aber da wird nichts
> gespeichert.
hier kannst du das in eine Variable legen um auch ggf. Plausi-Prüfungen zu
machen z.B
meineNeuDatei = Application.GetSaveAsFilename(..... usw
> SaveAs alleine reicht auch nicht aus, weil er dann die ursprüngliche Datei
du brauchs ja eine neue Datei dann erst Add und dann save
Workbooks.Add.SaveAs Filename:=meineNeuDatei
> überschreiben will. Ich kann aber auch kein Name und Pfad vorgeben, weil
> der sich immer wieder ändert. Hoffe ich habe mich klar ausgedrückt. Wäre
> nett, wenn mir jemand helfen könnte.
mfG
Wolfgang Habernoll
Das war sicherlich ganz toll gemeint, aber ich bin so ein "Newbie" in
Sachen VBA, dass es bei mir nicht funktioniert hat. Wahrscheinlich habe
ich das ganze falsch in mein restliches Makro integriert.
>
> du brauchs ja eine neue Datei dann erst Add und dann save
> Workbooks.Add.SaveAs Filename:=meineNeuDatei
Bei mir ist eine Mappe1 erschienen, die leer war und eine Mappe, die ich
xxx.xls benannt habe, die allerdings auch leer war.
Wenn ich ganz normal Datei-speichern-unter mache, dann wird doch quasi
eine Kopie der aktiven Mappe angelegt. So habe ich mir das auch
vorgestellt, nur mit dem Unterschied, dass die Originalmappe durch den
Speichervorgang nicht geschlossen werden soll, denn die soll ja mit dem
Ende des Makros wieder quasi in ihren Urzustand zurück gesetzt werden.
Nochmal zusammenfassend:
Ich habe eine org.xls mit einem Makro werden verschiedene
Arbeitsvorgänge durchgeführt. An einem bestimmten Bearbeitungspunkt soll
der Istzustand der Datei unter einem jeweils anderen Namen abgespeichert
werden und geöffnet bleiben. Dann soll die org.xls wieder aktiviert
werden und die Arbeitsvorgänge sollen wieder gelöscht werden, so dass
ich wieder den Ursprungszustand der org.xls habe und eine zweite Mappe
(neu.xls), mit dem o.g. Istzustand.
Danke im Voraus für Eure Geduld.
Gruß
Daniela
Daniela Handlin schrieb am 12.02.2007
> Nochmal zusammenfassend:
> Ich habe eine org.xls mit einem Makro werden verschiedene
> Arbeitsvorgänge durchgeführt. An einem bestimmten Bearbeitungspunkt soll
> der Istzustand der Datei unter einem jeweils anderen Namen abgespeichert
> werden und geöffnet bleiben. Dann soll die org.xls wieder aktiviert
> werden und die Arbeitsvorgänge sollen wieder gelöscht werden, so dass
> ich wieder den Ursprungszustand der org.xls habe und eine zweite Mappe
> (neu.xls), mit dem o.g. Istzustand.
In diesem Falle wäre es wohl sinnvoller, wenn Du deine Original-Mappe als
Vorlage (.XLT) speicherst und dann jeweils basierend darauf eine neue Mappe
öffnest - dadurch ersparst Du dir das Zurücksetzen der Aktionen.
Andernfalls kannst Du den 'Speichern unter'-Dialog auch wie folgt aufrufen:
Application.Dialogs(xlDialogSaveAs).Show
Mit freundlichen Grüssen
Thomas Ramel (@work)
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-1]
Microsoft Excel - Die ExpertenTipps tinyurl.com/cmned
Vielen Dank für beide Lösungen. Ich habe mich für erstere entschieden.
Wieder einmal ein Beweis dafür, dass man manchmal viel zu kompliziert denkt.
Gruß
Daniela
Daniela Handlin schrieb am 13.02.2007
Ich denke, dass es sich gerade auch deshalb lohnt in der NG
mitzumachen/lesen, weil oft unkonventionelle oder alternative Ansätze zur
Sprache kommen, an die man selbst gar nicht gedacht hat.
Danke für dein Feedback.