Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

EXCEL: VBA Makro zum vereinfachten Speichern

Forumthread: EXCEL: VBA Makro zum vereinfachten Speichern

EXCEL: VBA Makro zum vereinfachten Speichern
01.06.2017 13:09:29
Pascal
Hallo liebes Forum,
ich hab folgenden VBA-Code in Benutzung.
---------------------------------------------------------------------------------

Sub Speichern_unter()
Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant
Verzeichnis = "K:\Ordner1\Ordner2\Berichte\" 'Verzeichnis-Vorschlag
Datei = Range("H5") & ".xls" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy  False Then ActiveWorkbook.SaveAs SaveDummy 'Es wurde im Dialog auf Speichern  _
gedrückt
End Sub

Function SpeichernUnter(VorgabeName As String) As Variant
SpeichernUnter = Application.GetSaveAsFilename(InitialFileName:=VorgabeName, Filefilter:="Excel  _
Dateien (*.xls),*.xls*", FilterIndex:=1, Title:="Speichern unter...", ButtonText:="speichern")
End Function

--------------------------------------------------------------------------------
Dieser Code ermöglicht es mir über eine Schaltfläche die Excel-File in einem vordefinierten Pfad abzuspeichern. Zusätzlich wird der Name als Datei-Name übernommen welcher in der Zelle "H5" steht. Doch der generierte Name der Excel-Datei passt noch nicht ganz.
Wie schaffe ich es das zwischen dem Wort was aus "H5" übernommen wird, welches auch dann der Datei-Name ist, noch Sonderzeichen geschrieben werden. Ist das Wort also "BeispielTextNr1" (H5) dann soll daraus "Beispiel_Text_Nr_1" gemacht werden un dieser Name dann als Datei-Name dienen.
Die Logik wäre immer gleich "XXXXX_XXXX_X" . Also 5 Zeichen + "_" + 4 Zeichen + "_" + 1 Zeichen.
Besten Dank!
Pascal
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Textfunktionen
01.06.2017 13:15:55
Rudi
Hallo,
=left(Range("H5"),5) &"_" &mid(Range("H5"),6,4) &"_" &right(Range("H5"),1)
Gruß
Rudi
AW: Textfunktionen
01.06.2017 13:44:40
Pascal
Hallo Rudi,
hat super geklappt, vielen dank!
Der Code sieht jetzt folgender Maßen aus
Sub Speichern_unter()
Dim Datei As String
Dim Verzeichnis As String
Dim SaveDummy As Variant
Verzeichnis = "K:\Ordner1\Ordner2\Berichte\" 'Verzeichnis-Vorschlag
Datei = =left(Range("H5"),5) &"_" &mid(Range("H5"),6,4) &"_" &right(Range("H5"),1) &  _
ActiveSheet.Range("AJ6").Value & ".xls" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
If SaveDummy  False Then ActiveWorkbook.SaveAs SaveDummy 'Es wurde im Dialog auf Speichern  _
gedrückt
End Sub
Das fett Gedruckte wird mir zusätzlich noch ein Wort in den Datei-Namen einfügen insofern es auch in der entsprechenden Zelle steht. Steht in der Zelle nichts so wird auch nichts übernommen.
Frage hierzu: Wie schaffe ich es das wenn ein Wort in der entsprechenden Zelle steht es mir vor das Wort ein "_" setzt. Also
AJ6 = "Wort" ---> "_Wort" mit in den Datei-Namen
AJ6 = LEER ---> Leer lassen
so wie es ja auch schon mit ActiveSheet.Range("AJ6").Value klappt, nur weiß ich eben nicht wie ich das Sonderzeichen dann noch reinbekomme.
Besten Dank
Pascal
Anzeige
AW: Textfunktionen
07.06.2017 21:15:27
Rudi
Hallo,
Datei = =left(Range("H5"),5) &"_" &mid(Range("H5"),6,4) &"_" &right(Range("H5"),1) & _
iif(ActiveSheet.Range("AJ6").Value"","_"&ActiveSheet.Range("AJ6").Value,"") & ".xls" 'Datei-Vorschlag
SaveDummy = SpeichernUnter(Verzeichnis & Datei)
Gruß
Rudi
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige