Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Dateiname aus Zelle
Daniel
Hallo Experten,
Ich hab mich nun den halben Tag durchs Forum gehangelt und komm irgendwie doch auf keinen grünen Zweig...
ich habe ein Datenblatt, das von den verschiedensten Leuten verwendet wird; dieses liegt als Vorlage auf dem Server. (N:\Abteilung\Gruppe\Vorlage.xlt)
Nun habe ich mit "Verketten" aus mehreren Zellen den Dateinamen zusammengebastelt, das klappt soweit ganz gut.
Nun soll beim Speichern der "Speichern unter"-Dialog geöffnet werden, damit das ausgefüllte Datenblatt in einem Unterordner (z.B. N:\Abteilung\Gruppe\Anlage\) gespeichert werden kann; natürlich nun als .xls und nicht mehr als .xlt
Solange die Vorlage ein .xls ist, funktionieren einige Makros, die ich hier gefunden habe; speichere ich es aber als .xlt, geht gar nix mehr.
Hat jemand einen Tip?
Vielen Dank
Daniel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateiname aus Zelle
06.09.2009 10:21:50
Tino
Hallo,
versuche es mal mit diesen Beispiel
Sub MakroSaveAs()
Dim KommaOrPunkt As String
Dim strDateiname As String
Dim varReturn
'Pfad wo gespeichert werden soll
Const strPath As String = "N:\Abteilung\Gruppe\Anlage\"
'aktueller Dateiname der im Dialog angezeigt wird
strDateiname = ThisWorkbook.Name
'Login Laufwerk
ChDrive Left$(strPath, 2)
'Login Pfad
ChDir strPath
'Dialog Speichern unter
varReturn = Application.GetSaveAsFilename(InitialFileName:=strDateiname, FileFilter:= _
"Excel Files (*.xls), *.xls", Title:="Mappe Speichern")
If varReturn  "" Then
KommaOrPunkt = IIf("0.5" * 2 = 1, ".", ",")
If (Replace(Application.Version, ".", KommaOrPunkt) * 1) 
Gruß Tino
Anzeige
korrektur
06.09.2009 10:28:28
Tino
Hallo,
so ist es besser, sonst funktioniert der Abbruch nicht.
Sub MakroSaveAs()
Dim KommaOrPunkt As String
Dim strDateiname As String
Dim strReturn As String
'Pfad wo gespeichert werden soll
Const strPath As String = "N:\Abteilung\Gruppe\Anlage\"
'aktueller Dateiname der im Dialog angezeigt wird
strDateiname = ThisWorkbook.Name
'Login Laufwerk
ChDrive Left$(strPath, 2)
'Login Pfad
ChDir strPath
'Dialog Speichern unter
strReturn = Application.GetSaveAsFilename(InitialFileName:=strDateiname, FileFilter:= _
"Excel Files (*.xls), *.xls", Title:="Mappe Speichern")
If strReturn  CStr(False) Then
KommaOrPunkt = IIf("0.5" * 2 = 1, ".", ",")
If (Replace(Application.Version, ".", KommaOrPunkt) * 1) 
Gruß Tino
Anzeige
AW: korrektur
07.09.2009 07:04:10
Daniel
Hallo Tino,
danke für Deine Antwort; hab das jetzt mal getestet, leider läuft es noch nicht so ganz... Nun wird zwar die Dateierweiterung auf .xls statt .xlt umgestellt, aber der Dateiname bleibt bei "Vorlage".
Wie bringe ich nun meinen zusammengesetzten Dateinamen (liegt in Zelle P3) ins Makro?
Gruss
Daniel
AW: korrektur
07.09.2009 07:42:20
Tino
Hallo,
in dem Du bei strDateiname die Zelle angibst wo der Name drinsteht.
strDateiname = Sheets("Tabelle1").Range("P3")
Gruß Tino
AW: korrektur
09.09.2009 09:30:41
Daniel
Hallo Tino,
irgendwie raff ich es nicht; egal was ich mache, der Dateiname wird nicht übernommen.
Wenn ich die Datei normal als .xls speichere, krieg ich es problemlos mit einem anderen Makro hin.
Ich hab nun die Datei mit gesperrten Zellen und Passwortschutz versehen und das alte Makro eingebaut, und gut ist.
Trotzdem vielen Dank für Deine Bemühungen!
Gruss
Daniel
Anzeige

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige