Gast Flamus Geschrieben 26. April 2004 Geschrieben 26. April 2004 Hallo 1. Ich habe zwei Tabellen innerhalb einer xls.Datei, welche ich an einen beliebigen Speicherort speichern möchte. Die restliche Tabellen der Excel-Datei sollen nicht gespeichert werden. 2. Da der User jedoch nicht den Pfad angeben, sondern sich bis zum gewünschten Speicherort "durchklicken" soll, bräuchte ich dieses Windows-typische "Speichern unter"-Fenster. Wie rufe ich dieses auf? Und wie sage ich Excel, dass es nur die zwei Tabellen in einer neuen Excel-Mappe speichern soll? Bin dankbar für jede konstruktive Antwort Zitieren
dgr243 Geschrieben 26. April 2004 Geschrieben 26. April 2004 Original geschrieben von ***flame*** Hallo 1. Ich habe zwei Tabellen innerhalb einer xls.Datei, welche ich an einen beliebigen Speicherort speichern möchte. Die restliche Tabellen der Excel-Datei sollen nicht gespeichert werden. 2. Da der User jedoch nicht den Pfad angeben, sondern sich bis zum gewünschten Speicherort "durchklicken" soll, bräuchte ich dieses Windows-typische "Speichern unter"-Fenster. Wie rufe ich dieses auf? Und wie sage ich Excel, dass es nur die zwei Tabellen in einer neuen Excel-Mappe speichern soll? Bin dankbar für jede konstruktive Antwort Als Idee (keine Ahnung, ob das auch leichter geht ...) 1. Die beiden benötigten Tabellen in eine neue Excel Tabelle kopieren 2. Die Funktion "saveas(String)" sollte dir helfen das entsprechende "Speichern unter" Fenster zu finden. Z.B.: SaveAs ("Rechnung") Edit: Damn grad ma getestet .. das speichern unter Fenster zeigt er dir gar nicht an, wenn du einfach saveas(dateiname) verwendest .. jedenfalls nicht bei ner bestehenden datei .. da nimmt er dann den pfad der bestehenden datei ... hmm ich guck nochma ... Zitieren
Gast Flamus Geschrieben 26. April 2004 Geschrieben 26. April 2004 Original geschrieben von dgr243 Als Idee (keine Ahnung, ob das auch leichter geht ...) 1. Die beiden benötigten Tabellen in eine neue Excel Tabelle kopieren 2. Die Funktion "saveas" sollte dir helfen das entsprechende "Speichern unter" Fenster zu finden. Z.B.: SaveAs ("Rechnung") Danke, aber das ist nicht, was ich wollte. Also, nochmal. Möchte, aus dieser Excel-Datei heraus zwei Tabellen in eine neue Arbeitsmappe kopieren. Soweit ist das richtig. Aber ich möchte im Vorfeld schon festlegen, wie die Datei dann heißen und wo sie gespeichert werden soll. Also soll der Name für die zu speichernde 2. Mappe aus der 1. Mappe übernommen werden. Und wenn ich die SaveAs-Funktion verwende, bekomm ich ja auch nicht gleich dieses super-bequeme-userfreundliche-Fenster zum durchklicken! User merken sich nämlich nur ungern längere Pfade.... Zitieren
dgr243 Geschrieben 26. April 2004 Geschrieben 26. April 2004 Original geschrieben von ***flame*** Danke, aber das ist nicht, was ich wollte. Also, nochmal. Möchte, aus dieser Excel-Datei heraus zwei Tabellen in eine neue Arbeitsmappe kopieren. Soweit ist das richtig. Aber ich möchte im Vorfeld schon festlegen, wie die Datei dann heißen und wo sie gespeichert werden soll. Also soll der Name für die zu speichernde 2. Mappe aus der 1. Mappe übernommen werden. Und wenn ich die SaveAs-Funktion verwende, bekomm ich ja auch nicht gleich dieses super-bequeme-userfreundliche-Fenster zum durchklicken! User merken sich nämlich nur ungern längere Pfade.... Ah ok nu seh ich besser durch... Wenn du festlegen willst, unter welchen Namen und wo du speichern willst dann ist das ja gar kein Problem: ActiveWorkbook.saveas filename := "c:\Pfad\dateiname.xls" Da der Name aus der ersten Datei stammt kannst du denn je nachdem wo das in der ersten Datei steht entweder als Variable übergeben oder gleich als globale Variable verwenden. Den Dateinamen kannste auch direkt hart im Quelltext eintragen. Dasselbe dann für den Pfad. 'Beispiel für Dateiname und Pfad aus Variablen dim dateiname as string dim pfad as string activeworkbook.saveas filename := pfad & dateiname 'Beispiel für hart eingetragenen Pfad dim dateiname as string activeworkbook.saveas filename := "c:\Eigene Dateien\" & dateiname P.s.: Für Tipfehler übernehme ich keine Haftung Zitieren
Gast Flamus Geschrieben 26. April 2004 Geschrieben 26. April 2004 Ich glaub, wir reden aneinander vorbei! Ich will doch bloß dieses Fenster haben, wenn ich speichern will. Den Pfad übernehm ich dann in eine Variable und den Rest bekomm ich dann auch hin Will die 2 Tabellen ja auch nicht in den selben Ordner wie die Quelldatei speichern, sondern der User soll das frei wählen können, bevor gespeichert wird. Hab ja schon sowas in der Art "Datei öffnen" gefunden ---> fileToOpen = Application.GetOpenFileName("Text Files (*.xls), *.xls") If fileToOpen <> False Then MsgBox "Open " & fileToOpen End If Und sowas halt nur für's Speichern... Zitieren
fireworker Geschrieben 27. April 2004 Geschrieben 27. April 2004 Versuch's mal hiermit: Application.GetSaveFileName genaue Syntax kann ich Dir im Moment nicht sagen -> Hilfe Zitieren
painspotting Geschrieben 27. April 2004 Geschrieben 27. April 2004 Application.Dialogs(xlDialogSaveWorkbook).Show oder Application.Dialogs(xlDialogSaveAs).Show Vielleicht so? Zeigt den Standardialog (Speichern bzw. Speichern unter) an. Zitieren
Gast Flamus Geschrieben 28. April 2004 Geschrieben 28. April 2004 Danke nochmal für die Tips, aber hab die Lösung schon gefunden gehabt. hier meine Lösung: fileSaveName = Application.GetSaveAsFilename( _ fileFilter:="Excel Files (*.xls), *.xls") If fileSaveName <> False Then MsgBox "Save as " & fileSaveName End If Sheets(Array("Tabelle1", "Tabelle3")).Copy '2 tbls in eine neue Arbeitsmappe speichern ActiveWorkbook.SaveAs Filename:= _ fileSaveName, FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.