Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Dateiname aus Zelle generieren und Speichern

VBA Dateiname aus Zelle generieren und Speichern
31.01.2019 13:27:31
Tobias
Hallo zusammen,
ich bin auf der Suche nach einem Makro oder alternativ Makro+normale Excel-Funktion.
Ich habe eine Vorlage namens "FA+SN.xltm" (auf Laufwerk O:\)
in dieser Vorlage steht am Ende der Bearbeitung in der Zelle "S11" die Projektnummer (diese ist immer acht-stellig).
Diese möchte ich nun in einem bestimmten Verzeichnis speichern (natürlich als .xlsm - also keine Vorlage mehr).
Das Verzeichnis in welches gespeichert werden soll liegt auf dem Server
"I:\-- Aktuelle Projekte\" und beginnt immer mit der jeweiligen Projektnummer.
Ich möchte also die Vorlage "FA+SN.xltm" in den Ordner (Beispiel)
"I:\-- Aktuelle Projekte\12345678 Kunde Projekt" abspeichern,
wobei 12345678 dem Wert in Zelle "S11" entsprechen soll. (Projektnummer)
Der neue Dateiname der soll außerdem so aussehen: "FASN - 12345678.xlsm"
Meine Idee: (Achtung, ganz simpel)
Funktion:
Suche in Pfad "I:\-- Aktuelle Projekte\" den Ordner, dessen erste 8 Zeichen mit dem Wert in "S11" übereinstimmen.
Schreibe diesen Pfad in Zelle "W11"
Dann Makro ausführen (mit Button):
Speichere das ActiveWorkbook in den Pfad aus "W11" unter dem Dateinamen "FASN -" & Range("S11") & ".xlsm"
....
wie geht das?
Danke schon mal für eure Hilfe :)

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Dateiname aus Zelle generieren und Speichern
31.01.2019 13:36:09
Rudi
Hallo,
ist sicher gestellt, dass es den Ordner gibt?
activeworkbook.saveas "I:\-- Aktuelle Projekte\" &s11 &"\FASN-" &Range("S11"), xlOpenXMLWorkbookMacroEnabled
Gruß
Rudi
AW: VBA Dateiname aus Zelle generieren und Speichern
31.01.2019 13:53:33
Tobias
Hi Rudi,
danke erstmal für die schnelle Antwort.
Bisher scheint dein Code das zu tun was ich will - nur nicht ganz.
Die Datei wurde jetzt in dem Verzeichnis "I:\-- Aktuelle Projekte\" gespeichert und hat den Namen "FASN-45550119".
Ich werde jetzt mal etwas konkreter.
Ich teste mit der Projektnummer 45550119 (= der Wert in Zelle S11)
Das Verzeichnis, in welches gespeichert werden soll, existiert.
Dieses ist: "I:\-- Aktuelle Projekte\45550119 (ETS Lindgren Finnland) 6P00000897 (Orange)_FSM2320, CO3000-1D"
also nehme ich an, dass mit dem teil \" &s11 &"\ irgendwas nicht stimmt? - keine Ahnung...
Anzeige
AW: VBA Dateiname aus Zelle generieren und Speichern
31.01.2019 14:00:55
Rudi
aha!
sPfad=Dir("I:\-- Aktuelle Projekte\" &s11 &"*", vbDirectory)
If sPfad "" then
Activeworkbook.SaveAs sPfad &"\" &s11 &"\FASN-" &Range("S11"), xlOpenXMLWorkbookMacroEnabled
Else
Msgbox "Ordner nicht vorhanden."
End If

Gruß
Rudi
Quatsch!
31.01.2019 14:02:33
Rudi
2x Range vergessen.
sPfad=Dir("I:\-- Aktuelle Projekte\" &Range("s11") &"*", vbDirectory)
If sPfad "" then
Activeworkbook.SaveAs sPfad &"\" &Range("s11") &"\FASN-" &Range("S11"),  _
xlOpenXMLWorkbookMacroEnabled
Else
Msgbox "Ordner nicht vorhanden."
End If

Anzeige
AW: Quatsch!
31.01.2019 14:12:13
Tobias
bekomme folgende Fehlermeldung
Userbild
dann prüfe das. owT
31.01.2019 14:19:23
Rudi
AW: dann prüfe das. owT
31.01.2019 14:35:37
Tobias
Naja ich dachte, dass mit dem code
sPfad = Dir("I:\-- Aktuelle Projekte\" & Range("s11") & "*", vbDirectory)
Der Speicherpfad angegeben wird.
Aber der will ja Auf C:\.... speichern - da gibt´s den Ordner natürlich nicht.
Außerdem soll der die Datei direkt in ..\45550119 (ETS Lindgren Finnland) 6P00000897 (Orange)_FSM2320, CO3000-1D speichern.
Die Fehlermeldung zeigt mir doch, dass er in ..\45550119 (ETS Lindgren Finnland) 6P00000897 (Orange)_FSM2320, CO3000-1D\45550119\E6846100 speichern will ...
mal abgesehen von den davor stehenden Pfadangaben (C:...)
Vielleicht sollte es ja so heißen:?
ActiveWorkbook.SaveAs sPfad & "FASN-" & Range("S11"),

Anzeige
AW: Quatsch!
31.01.2019 14:50:39
PeterK
Hallo
DIR liefert keine Laufwerksbuchstaben!
Activeworkbook.SaveAs "I:\" & sPfad &"\FASN-" &Range("S11"), xlOpenXMLWorkbookMacroEnabled
AW: Quatsch!
31.01.2019 15:03:20
Tobias
... ja genau...
hab´s selbst rausgefunden:
Da die Vorlage auf O:\ liegt und ich mit Excel (temporär) auf C:\ arbeite, muss man dem sagen,
dass er das Laufwerk auf I:\ und das Verzeichnis auf I:\-- Aktuelle Projekte\ wechselt.
Sieht dann so aus und funktioniert:

Sub Speichern_unter()
ChDrive "I"
ChDir "I:\-- Aktuelle Projekte\"
sPfad = Dir("I:\-- Aktuelle Projekte\" & Range("s11") & "*", vbDirectory)
If sPfad  "" Then
ActiveWorkbook.SaveAs sPfad & "\" & "FASN-" & Range("S11")
Else
MsgBox "Ordner nicht vorhanden."
End If
End Sub

Anzeige
AW: Quatsch!
31.01.2019 15:04:24
PeterK
Hallo
Stimmt noch nicht ganz (DIR liefert nur das gesuchte Unterdirectoy ohne Pfad)
Activeworkbook.SaveAs "I:\-- Aktuelle Projekte\" & sPfad & "\FASN-" & Range("S11"), xlOpenXMLWorkbookMacroEnabled
Ja. Stimmt. Nicht bedacht. owT
31.01.2019 16:03:33
Rudi

114 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige