Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
"Speichern unter" funzt nur in Vorlage
24.06.2022 09:15:05
Gil
Ich habe in einer Excel-Vorlage (*.xltm) einen Button erstellt mit dem beim Click das Speichern unter Fenster aufgeht und sowohl Zielort sowie Dateiname vorgeschlagen werden.
Es funktioniert zwar dass das Fenster geöffnet wird aber wenn ich dann speichern will erhalte ich einen Laufzeitfehler '1004' "Diese Erweiterung kann nicht mit dem ausgewählten Dateityp verwendet werden. Ändern Sie die Dateierweiterung im Textfeld 'Dateiname', oder wählen sie einen anderen Dateityp aus, indem sie die Auswahl unter 'speichern unter' ändern."
Wenn ich dann Debuggen drücke gibt er mir die Zeile ActiveWorkbook.SaveAs varRetVal an.
Hier noch der ganze Code

Private Sub CommandButton1Speichernunter_Click()
Dim varRetVal As Variant, strInitFileName As String, Datname As String
Dim Pfad As String
Pfad = "Hier ist mein Pfad eingetragen"
Datname = "Checkliste Generationenwechsel " & Range("d13") & " " & Range("d12") & " " & Range("d11") & ".xlsm"
varRetVal = Application.GetSaveAsFilename( _
InitialFileName:=Pfad & Datname, _
FileFilter:="Excel-Arbeitsmappe mit Makros (*.xlsm), *.xlsm", _
Title:="Datei speichern unter... ")
If varRetVal = False Then Exit Sub
ActiveWorkbook.SaveAs varRetVal
End Sub
Besten Dank für eure Hilfe.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: "Speichern unter" funzt nur in Vorlage
24.06.2022 09:43:09
Daniel
Hi
wenn du beim SaveAs den Dateityp nicht angibst, dann muss VBA beim Speichern den Typ der Ausgangsdatei übernehmen, dass ist bei xlt aber nicht sinnvoll, da es eine Vorlage ist.
Außderdem gibt es seit 2007 keinen "Standard"-Dateitypen, der bei fehlender Angabe verwendet werden könnte, sondern die drei Varianten xlsx, xlsm und xlsb.
man sollte daher beim SaveAs immer folgendes tun:
1. den Dateitypen, also den Parameter FileFormat mit angeben
2. den Dateinamen immer ohne die Dateierweiterung angeben, damit VBA diese dann beim Speichern automatisch und damit passend zum gewählten Dateitypen hinzufügen kann
also:

varRetVal = application.GetSaveAsFilename(...)
varRetVal = Left(varRetVal, InstrRev(varRetVal, ".") - 1)
ActiveWorkbook.SaveAs varRetVal, xlOpenXMLWorkbookMacroEnabled ' als xlsm, alternativ auch 52, wenn man die reine Zahl bevorzugt

Anzeige
AW: "Speichern unter" funzt nur in Vorlage
24.06.2022 10:23:39
Gil
Hallo Daniel
Besten Dank. Leider bin ich völlig neu mit VBA. Ich habe Deine Codezeilen eingefügt aber erhalte nun immer noch einen Fehler:

Private Sub CommandButton1Speichernunter_Click()
Dim varRetVal As Variant, strInitFileName As String, Datname As String
Dim Pfad As String
Pfad = "G:\Kundenunterlagen\"
Datname = "Mein Pfad " & Range("d13") & " " & Range("d12") & " " & Range("d11") & ".xlsm"
varRetVal = Application.GetSaveAsFilename(xlsm)
varRetVal = Left(varRetVal, InStrRev(varRetVal, ".") - 1)
InitialFileName:=Pfad & Datname, _
FileFilter:="Excel-Arbeitsmappe mit Makros (*.xlsm), *.xlsm", _
Title:="Datei speichern unter... ")
If varRetVal = False Then Exit Sub
ActiveWorkbook.SaveAs varRetVal, xlOpenXMLWorkbookMacroEnabled
End Sub
Mit den fetten Angaben hat er nun Probleme.
Anzeige
falsch eingesetzt
24.06.2022 10:47:21
Rudi
Hallo,

  Private Sub CommandButton1Speichernunter_Click()
Dim varRetVal As Variant, strInitFileName As String, Datname As String
Dim Pfad As String
Pfad = "Hier ist mein Pfad eingetragen"
Datname = "Checkliste Generationenwechsel " & Range("d13") & " " & Range("d12") & " " & Range("d11") & ".xlsm"
varRetVal = Application.GetSaveAsFilename( _
InitialFileName:=Pfad & Datname, _
FileFilter:="Excel-Arbeitsmappe mit Makros (*.xlsm), *.xlsm", _
Title:="Datei speichern unter... ")
If varRetVal = False Then Exit Sub
varRetVal = Left(varRetVal, InstrRev(varRetVal, ".") - 1)
ActiveWorkbook.SaveAs varRetVal, xlOpenXMLWorkbookMacroEnabled
End Sub
Gruß
Rudi
Anzeige
AW: falsch eingesetzt
24.06.2022 11:01:20
Gil
Super!!! Vielen Dank für eure Hilfe!!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige