Zum Inhalt springen

"Speichern unter" mit Hilfe von VBA


Gast Flamus

Empfohlene Beiträge

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 :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

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 ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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....:rolleyes:

Link zu diesem Kommentar
Auf anderen Seiten teilen

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....:rolleyes:

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 ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...