Supportnet / Forum / Tabellenkalkulation
Excel: "Speichern unter" mit Namen aus aus Zelle möglich ?
Frage
Hallo !
Ich möchte das mir Excel das File unter dem namen speichert was ich in die Zelle B2 und C4 eingebe.
Ich möchte nicht bei "Speichern unter" den Namen per Hand eingeben, sondern dieses automatisch ausfüllen lassen, oder zB mit [B2+C4] eintragen lassen.
Ist das überhaupt möglich ?
Danke schon jetzt
Christian
Antwort 1 von Samsung61
ich glaube das ist möglich
mfg laz
mfg laz
Antwort 2 von djsquirrel
und WIE
das ist die FRAGE !!!
ce
das ist die FRAGE !!!
ce
Antwort 3 von fürLau
Hallo
Nichts leichter als das:
Gruß fürLau
Nichts leichter als das:
Private Sub CommandButton1_Click()
ActiveWorkbook.SaveAs Range("B2").Value & Range("C4").Value & ".xls"
End SubGruß fürLau
Antwort 4 von djsquirrel
Hallo fürLau !
Danke für Deine Hilfe,
aber dafür bin ich glaube ich ein kleinwenig ein DAU.
WO gebe ich das
Danke für Deine Hilfe,
aber dafür bin ich glaube ich ein kleinwenig ein DAU.
WO gebe ich das
Zitat:
(SUB dingsbums)
ein ?(SUB dingsbums)
Antwort 5 von woher
Hallo,
schau mal auf
http://www.excelbeispiele.de/
in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Modul" nach. Dort ist eine bebilderte Anleitung, die Dir dabei behilflich sein sollte.
mfg
woher
schau mal auf
http://www.excelbeispiele.de/
in der Rubrik Anleitungen und dort dann Anleitung zum VBA Projekt “Modul" nach. Dort ist eine bebilderte Anleitung, die Dir dabei behilflich sein sollte.
mfg
woher
Antwort 6 von djsquirrel
WOW !!
Es funkt, vielen DANK.
ABER !!!!!
ich nutze dann dieses Excel File nicht alleine,
da siind noch grössere DAUs damit beschäftigt.
Daher meine nächste Frage:
Gib es eine möglichkeit das ich das Makro einfacher ausführe,
sagen wir mal einer neuen, eigenen Taste/Button für dieses Makro ?
Danke
ce
Es funkt, vielen DANK.
ABER !!!!!
ich nutze dann dieses Excel File nicht alleine,
da siind noch grössere DAUs damit beschäftigt.
Daher meine nächste Frage:
Gib es eine möglichkeit das ich das Makro einfacher ausführe,
sagen wir mal einer neuen, eigenen Taste/Button für dieses Makro ?
Danke
ce
Antwort 7 von fürLau
Hallo
Ursprünglich hatte ich eine Befehlsschaltfläche dazu benutzt.
Dann halt so:
Sub Speichern_als_B2_C4()
ActiveWorkbook.SaveAs Range("B2").Value & Range("C4").Value & ".xls"
End Sub
Gruß
Ursprünglich hatte ich eine Befehlsschaltfläche dazu benutzt.
Dann halt so:
Sub Speichern_als_B2_C4()
ActiveWorkbook.SaveAs Range("B2").Value & Range("C4").Value & ".xls"
End Sub
Gruß
Antwort 8 von djsquirrel
Ach und kann ich im Makro auch noch den Laufwerkpfad vorgeben, WO gespeichert werden soll ?
Danke
ce
Danke
ce
Antwort 9 von djsquirrel
Hallo fürLau,
Ja aber wie bekomme ich den BUTTON rein ?
unter Symbolleisten finde ich nichts mit "Speichern_als..".
Danke schon jetzt.
CE
Ja aber wie bekomme ich den BUTTON rein ?
unter Symbolleisten finde ich nichts mit "Speichern_als..".
Danke schon jetzt.
CE
Antwort 10 von woher
Hallo fürLau,
wie wird die Aüsführung des Makros aus Antwort 7 ausgelöst?
Hallo CE,
klick auf Menue Extras, auf Makros, markiere das Makro und klicke auf Optionen, dort steht:
Tastenkombination
Strg+ __ in das leere Feld gebe eine Ziffer oder Buchstaben ein. Dann wird das Makro immer dann ausgeführt, wenn jemand diese Tastenkombinatin drückt.
Also Vorsicht! Nichts verwenden was jemand für andere Aktionen benutzt!
mfg
woher
wie wird die Aüsführung des Makros aus Antwort 7 ausgelöst?
Hallo CE,
klick auf Menue Extras, auf Makros, markiere das Makro und klicke auf Optionen, dort steht:
Tastenkombination
Strg+ __ in das leere Feld gebe eine Ziffer oder Buchstaben ein. Dann wird das Makro immer dann ausgeführt, wenn jemand diese Tastenkombinatin drückt.
Also Vorsicht! Nichts verwenden was jemand für andere Aktionen benutzt!
mfg
woher
Antwort 11 von djsquirrel
Hi !
Das mit der Tastenkombination weiss ich, danke,
ich brauche aber eine TASTE !!!
ce
Das mit der Tastenkombination weiss ich, danke,
ich brauche aber eine TASTE !!!
ce
Antwort 12 von fürLau
Hallo
Button:
Ansicht | Symbolleisten | Steuerelemente Toolbox [þ] anhaken!
Befehlsschaltfläche-Symbol anklicken (es wird dann in den Entwurfsmodus geschaltet, Geodreick mit Bleistift) und im Arbeitsblatt einfügen. Rechtsklick darauf, Code anzeigen wählen. Das Standart-Ereignis der Schaltfläche wird angezeigt:
in diesen Rump kommt nun der Code - natürlich ohne
Private sub ...und end Sub,
ActiveWorkbook.SaveAs Range("B2").Value & Range("C4").Value & ".xls"
sodas das Ganze aussieht, wie in AW 3.
Gruß fürLau
Button:
Ansicht | Symbolleisten | Steuerelemente Toolbox [þ] anhaken!
Befehlsschaltfläche-Symbol anklicken (es wird dann in den Entwurfsmodus geschaltet, Geodreick mit Bleistift) und im Arbeitsblatt einfügen. Rechtsklick darauf, Code anzeigen wählen. Das Standart-Ereignis der Schaltfläche wird angezeigt:
Private Sub CommandButton1_Click()
End Sub in diesen Rump kommt nun der Code - natürlich ohne
Private sub ...und end Sub,
ActiveWorkbook.SaveAs Range("B2").Value & Range("C4").Value & ".xls"
sodas das Ganze aussieht, wie in AW 3.
Gruß fürLau
Antwort 13 von woher
Hi.
das geht nicht und darf auch nicht gehen!
Makros können eine vielzahl von Aktionen ausführen und damit auch eine Menge Unsinn anrichten wenn sie an der verkehrten Stelle ausgeführt werden.
mfg
woher
das geht nicht und darf auch nicht gehen!
Makros können eine vielzahl von Aktionen ausführen und damit auch eine Menge Unsinn anrichten wenn sie an der verkehrten Stelle ausgeführt werden.
mfg
woher
Antwort 14 von woher
Hallo fürLau,
wir haben wohl gleichzeitig geschrieben.
antwort 13 bezieht sich auf Antwort 11!
Auch von mir: Danke für das Makro!
mfg
woher
wir haben wohl gleichzeitig geschrieben.
antwort 13 bezieht sich auf Antwort 11!
Auch von mir: Danke für das Makro!
mfg
woher
Antwort 15 von fürLau
Um auch den Pfad noch mit hinein zupacken, wäre ein Möglichkeit das in Zelle "B2" voranzustellen, oder ein dritte Zelle damit zu belasten zB. "B1"
ActiveWorkbook.SaveAs Range("B1").Value & Range("B2").Value & Range("C4").Value & ".xls" Antwort 16 von djsquirrel
Hi fürLau,
ja das dachte ich mir auch,
was ich aber eigentlich wollte:
das ich im Makro sage: WO ich es hinspeichere.
Also Save as..Q:/in/diesen/ordner/soll/es/gespeichert/werden
Geht das ?
DANKE an alle für die Tolle hilfe !
Ce
ja das dachte ich mir auch,
was ich aber eigentlich wollte:
das ich im Makro sage: WO ich es hinspeichere.
Also Save as..Q:/in/diesen/ordner/soll/es/gespeichert/werden
Geht das ?
DANKE an alle für die Tolle hilfe !
Ce
Antwort 17 von CaroS
Hallo djsquirrel,
ich schlage vor, Du verwendest eine weitere Zelle (B1 oder andere Zelle im Makro entsprechend anpassen), um dort das Laufwerk und den Pfad einzutragen. Das ist recht übersichtlich, Du weißt schon vor Ausführung des Makros, was passieren wird und Du kannst in diese Zelle jederzeit einen passenden Wert (LW:\Pfad) oder eine Formel reinschreiben.
In dieses Makro baue ich noch - so wie Du es "eigentlich wolltest" - eine Abfrage ein, die Dir anbietet, unter dem angegebenen Pfad zu speichern (einfach nur [OK] drücken). Du kannst den Pfad aber auch erst überschreiben und dann auf [OK] drücken, dann wird der neu eingegebene Pfad benutzt und außerdem zum Standardwert für das nächste Datei -- Speichern unter...
Gruß,
CaroS
ich schlage vor, Du verwendest eine weitere Zelle (B1 oder andere Zelle im Makro entsprechend anpassen), um dort das Laufwerk und den Pfad einzutragen. Das ist recht übersichtlich, Du weißt schon vor Ausführung des Makros, was passieren wird und Du kannst in diese Zelle jederzeit einen passenden Wert (LW:\Pfad) oder eine Formel reinschreiben.
In dieses Makro baue ich noch - so wie Du es "eigentlich wolltest" - eine Abfrage ein, die Dir anbietet, unter dem angegebenen Pfad zu speichern (einfach nur [OK] drücken). Du kannst den Pfad aber auch erst überschreiben und dann auf [OK] drücken, dann wird der neu eingegebene Pfad benutzt und außerdem zum Standardwert für das nächste Datei -- Speichern unter...
Sub speichern_unter()
Dim lw_pfad As String
lw_pfad = ActiveSheet.Range("E22").Value
lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in B1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
If lw_pfad = "" Then
MsgBox "Die Datei wird nicht gespeichert, da Sie [Abbrechen] gedrückt oder nichts eingegeben haben.", , "Abbruch"
Exit Sub
Else
If Right(lw_pfad, 1) <> "\" Then lw_pfad = lw_pfad & "\"
ActiveSheet.Range("E22").Value = lw_pfad
REM MsgBox lw_pfad
ActiveWorkbook.SaveAs lw_pfad & ActiveSheet.Range("B2").Value & ActiveSheet.Range("C4").Value & ".xls"
MsgBox "Die Datei wurde unter " & lw_pfad & ActiveSheet.Range("B2").Value & ActiveSheet.Range("C4").Value & ".xls gespeichert.", , "OK"
End If
End SubGruß,
CaroS
Antwort 18 von djsquirrel
Hi CaroS !
Danke für Deine Hilfe, schaut sehr gut aus,
jedoch funktioniert es nicht.
Hier ein testfile mit Deinem Makro:
http://www.eichhorn.cc/file/save_as_test.xls
Habe ich was falsch reingeschrieben ?
Danke
ce
Danke für Deine Hilfe, schaut sehr gut aus,
jedoch funktioniert es nicht.
Hier ein testfile mit Deinem Makro:
http://www.eichhorn.cc/file/save_as_test.xls
Habe ich was falsch reingeschrieben ?
Danke
ce
Antwort 19 von fürLau
Antwort 20 von djsquirrel
Hallo zusammen,
Also irgenwie hat es am schluss nicht hin.
er speichert mich WO ich es ablegen möchte (Laufwerk)
dieses schreibt Excel in B2 jedoch speichert er es dort nicht.
Ich will das er es in C:/ und nach den was in F2 steht abspeichert.
DANKE !
hier der Status Quo:
http://www.eichhorn.cc/file/save_as_test2.xls
CE
Also irgenwie hat es am schluss nicht hin.
er speichert mich WO ich es ablegen möchte (Laufwerk)
dieses schreibt Excel in B2 jedoch speichert er es dort nicht.
Ich will das er es in C:/ und nach den was in F2 steht abspeichert.
DANKE !
hier der Status Quo:
http://www.eichhorn.cc/file/save_as_test2.xls
CE
Antwort 21 von fürLau
Hallo
Abändern wie oben
Gruß
.
.
lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in B2 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
.
.
ActiveWorkbook.SaveAs ActiveSheet.Range("B2").Value & ActiveSheet.Range("F2").Value & ".xls"
MsgBox "Die Datei wurde unter " & ActiveSheet.Range("B2").Value & ActiveSheet.Range("F2").Value & ".xls gespeichert.", , "OK"
.
Abändern wie oben
Gruß
Antwort 22 von fedjo
Hallo Christian ,
versuch es doch mal mit diesem Cote,
er setzt den Dateinamen aus Zelle (B2, C4) zusammen und speicht unter den vorgegebenen Pfad ab.
Gruß
fedjo
Sub Speichern()
Dim strDateiname As String
Dim strAntwort As String
strDateiname = Range("B2").Value & Range("C4").Value & ".XLS"
ActiveWorkbook.SaveAs ("C:\Dokumente und Einstellungen\Admin\Desktop\Video\" & strDateiname) ´Pfad bitte ändern
End Sub
versuch es doch mal mit diesem Cote,
er setzt den Dateinamen aus Zelle (B2, C4) zusammen und speicht unter den vorgegebenen Pfad ab.
Gruß
fedjo
Sub Speichern()
Dim strDateiname As String
Dim strAntwort As String
strDateiname = Range("B2").Value & Range("C4").Value & ".XLS"
ActiveWorkbook.SaveAs ("C:\Dokumente und Einstellungen\Admin\Desktop\Video\" & strDateiname) ´Pfad bitte ändern
End Sub
Antwort 23 von CaroS
Hallo djsquirrel,
ich muss mich entschuldigen. Ich hatte in dem angegebenen Code vergessen, die Zelle "E22" in "B1" zu ändern, wobei ich B1 auch nur als Vorschlag aus AW15 übernommen habe. Man weiß ja nie so genau, wo in einer fremden Tabelle noch was frei ist. Deshalb sind die angegebenen Codes immer nur als Beispiele oder Vorschläge zu betrachten, die der Anwender (Du!) dann noch entsprechend anpassen muss.
Aber dieser Fehler ist mir unabsichtlich passiert, weil ich in meiner Testtabelle auf eine andere Testzelle (E22 statt B1) ausweichen musste (- da war schon alles voll) und dann selber vergessen habe, es anzupassen.
Ich stelle Dir die geänderte Datei hier zum Download bereit:
http://www.netupload.de/detail.php?img=d9570a88c71a8e50bf2339bf858f...
Die roten Kommentare kannst Du natürlich löschen.
Um die Datei erfolgreich speichern zu können, muss entweder in der Zelle B2 oder in der Zelle C4 (oder in beiden) ein Teil des Dateinamens stehen (eingegeben oder berechnet werden). B2 und C4 hattest Du selbst vorgegeben, das habe ich so übernommen.
Dann kannst Du das Makro mit Strg+t oder über das Menü Extras -- Makro - Makros... -- speichern_unter -- Ausführen starten.
Ja, wie gesagt, gewöhnlich teste ich einen Code, bevor ich ihn poste, aber ein kleiner Fehler schleicht sich immer wieder mal ein. Der ist hiermit behoben.
Für Dich heißt das aber auch: Du musst für Laufwerk:\Pfad nicht unbeingt die Zelle B1 verwenden, sondern kannst das nach Deinen Vorstellungen anpassen. Du musst im VBA-Code nur in der 3. 4. und 10. Zeile "B1" in Deine gewünschte Zelle ändern:
(3) lw_pfad = ActiveSheet.Range("B1").Value
(4) lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in B1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
(10) ActiveSheet.Range("B1").Value = lw_pfad
Gruß,
CaroS
ich muss mich entschuldigen. Ich hatte in dem angegebenen Code vergessen, die Zelle "E22" in "B1" zu ändern, wobei ich B1 auch nur als Vorschlag aus AW15 übernommen habe. Man weiß ja nie so genau, wo in einer fremden Tabelle noch was frei ist. Deshalb sind die angegebenen Codes immer nur als Beispiele oder Vorschläge zu betrachten, die der Anwender (Du!) dann noch entsprechend anpassen muss.
Aber dieser Fehler ist mir unabsichtlich passiert, weil ich in meiner Testtabelle auf eine andere Testzelle (E22 statt B1) ausweichen musste (- da war schon alles voll) und dann selber vergessen habe, es anzupassen.
Ich stelle Dir die geänderte Datei hier zum Download bereit:
http://www.netupload.de/detail.php?img=d9570a88c71a8e50bf2339bf858f...
Die roten Kommentare kannst Du natürlich löschen.
Um die Datei erfolgreich speichern zu können, muss entweder in der Zelle B2 oder in der Zelle C4 (oder in beiden) ein Teil des Dateinamens stehen (eingegeben oder berechnet werden). B2 und C4 hattest Du selbst vorgegeben, das habe ich so übernommen.
Dann kannst Du das Makro mit Strg+t oder über das Menü Extras -- Makro - Makros... -- speichern_unter -- Ausführen starten.
Ja, wie gesagt, gewöhnlich teste ich einen Code, bevor ich ihn poste, aber ein kleiner Fehler schleicht sich immer wieder mal ein. Der ist hiermit behoben.
Für Dich heißt das aber auch: Du musst für Laufwerk:\Pfad nicht unbeingt die Zelle B1 verwenden, sondern kannst das nach Deinen Vorstellungen anpassen. Du musst im VBA-Code nur in der 3. 4. und 10. Zeile "B1" in Deine gewünschte Zelle ändern:
(3) lw_pfad = ActiveSheet.Range("B1").Value
(4) lw_pfad = InputBox("Geben Sie hier das Laufwerk und den Pfad an, wo die Datei gespeichert werden soll." & Chr(13) & Chr(13) & "(Ihre Eingabe wird in B1 als neuer Default-Wert gespeichert.)", "Datei speichern unter...", lw_pfad)
(10) ActiveSheet.Range("B1").Value = lw_pfad
Gruß,
CaroS

