Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA unter Excel 2016
#21
Hallo Wolfgang,

aber jetzt:
Code:
Sub Wolfgang()
Dim sFilter As String, Datei As String, Speichern
Datei = ActiveSheet.Range("DatName") & ".xlsm"
If Datei = "" Then MsgBox "Kein Eintrag in Zelle " & ActiveSheet.Range("DatName").Address
sFilter = "Excel Files (*.xlsm), *.xlsm"
Speichern = Application.GetSaveAsFilename(Datei, sFilter)
If Speichern <> False Then
   ActiveWorkbook.SaveAs Filename:=Speichern, FileFormat:=xlOpenXMLWorkbookMacroEnabled
End If
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#22
Hallo Wolfgang,

mit der Codeerweiterung von André, sind auch Dateinamen mit Punkt möglich.

Zusätzlich noch 2 kleine Korrekturen.
1. Pfadvorgabe: Im gleichen Pfad, wie diese Datei speichern.
2. Die Zelle "DatName" prüfen, ob sie Leer ist und nicht die Variable Datei, denn Datei ist nie leer.

Code:
Sub DatName_prüfen_speichern()
    Dim sFilter As String
    Dim Pfad As String
    Dim Datei As String
    Dim Speichern As Variant
    
    '1. Pfadvorgabe: Im gleichen Pfad, wie diese Datei speichern.
    Pfad = ThisWorkbook.Path & "\"
    Datei = Pfad & ActiveSheet.Range("DatName") & ".xlsm"
    
    '2. Die Zelle "DatName" prüfen, ob sie Leer ist und nicht die Variable Datei, denn Datei ist nie leer.
    If ActiveSheet.Range("DatName") = "" Then _
        MsgBox "Keine Dateinamensvorgabe," & vbLf & "in der Zelle " & ActiveSheet.Range("DatName").Address & " (DatName)"
    sFilter = "Excel Files (*.xlsm), *.xlsm"
    Speichern = Application.GetSaveAsFilename(Datei, sFilter)
    
    If Speichern <> False Then
        ActiveWorkbook.SaveAs Filename:=Speichern, FileFormat:=xlOpenXMLWorkbookMacroEnabled
    End If
    
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an hddiesel für diesen Beitrag:
  • Wolfgang_Virnich
Antworten Top
#23
Hallöchen,

mal noch ein Hinweis. Einige Programme sind hinsichtlich der Extentions recht rigoros. Wenn ich z.B. versuche, im Texteditor ein script zu speichern und die Vorgabe *.txt nicht ändere, hab ich hinterher keine *.vbs, sondern ein *.vbs.txt.

Excel ist da wohl etwas anders und hätte gerne eine passende Extention im vorgegebenen Namen.

In Deinem Fall wollest Du eine .xlsm speichern und das sollte dann auch in der Variable Datei berücksichtigt werden.
Willst Du auf gleiche Weise mit dem sFilter xlsx eine Datei ohne Makro erzeugen, müsste die Variable auch xlsx enthalten.
Hast Du im sFilter xlsm und xlsx, kannst Du bei Datei wahlweise eins von beiden verwenden.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Wolfgang_Virnich
Antworten Top
#24
Hallo ihr Lieben

Vielen Dank für eure Hilfe.

Das war mal wieder ein Lehre für mich Idea 

Liebe Grüße aus Bremen
Wolfgang
Antworten Top
#25
Hallo André,

(02.09.2018, 09:35)schauan schrieb: Excel ist da wohl etwas anders und hätte gerne eine passende Extention im vorgegebenen Namen.

In Deinem Fall wollest Du eine .xlsm speichern und das sollte dann auch in der Variable Datei berücksichtigt werden.

ist das wirklich so? Entscheidend/ausreichend ist doch FileFormat:= ... !?

Gruß Uwe
Antworten Top
#26
Hallo Uwe,

für die Vorbelegung des ...FileSaveAs… Dialogs ja.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#27
Hallo André,

jetzt, da Du sagst, dass es um den Dialog geht... Alles klar, danke. Blush

Gruß Uwe
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste