Clever-Excel-Forum

Normale Version: Speichern unter VBA
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo VBA-Freunde,

ich möchte gerne den Befehl "Speichern unter" per VBA aufrufen und den User den Speicherpfad wählen lassen, aber den Dateinamen zum Speichern vorschreiben.

Mit folgendem Codeteil:

ActiveWorkbook.saveAs Filename:=Speicherpfad, FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
geht das ja für einen festen speicherpfad.

In der B12 habe ich mir den Speicherpfad zusammengebaut:
Speicherpfad = Range("B12").Value

=B8&G20&", "&TEXT(E20;"JJJJ-MM-TT")&", Smartsheet.xlsm"
so lautet die Variable nun: E:\BUCON\APC-123-001-14, 2014-10-27, Smartsheet.xlsm

Den Teil E:\BUCON\ soll nun der User mit speichern unter wählen können und der Dateiname
APC-123-001-14, 2014-10-27, Smartsheet.xlsm muss dann verwendet werden.

Wie kann ich das Problem lösen?

Vielen Dank für eure Hilfe schon im voraus.
Hallo Heinz,

spontan fiele mir ein, das Laufwerk und den Ordner vom User in zwei Zellen eintragen zu lassen und in
die Formel mit zu integrieren.
Per VBA mit zwei Inputboxen. Beispiel findest Du hier:

http://www.herber.de/mailing/Beispiele_z...putBox.htm
http://ms-excel.eu/faqs/excel-vba-texte/...utbox.html
Hallo Heinz,

vielleicht auch so (geklaut von Case ;) ):

Code:
Public Sub Ordnerauswahl()
  Dim strOrdner As String

  With Application.FileDialog(msoFileDialogFolderPicker)
    .InitialFileName = "E:\"
    .Title = "Ordnerauswahl"
    .ButtonName = "Auswahl..."
    .InitialView = msoFileDialogViewList
    If .Show = -1 Then
      strOrdner = .SelectedItems(1)
      If Right(strOrdner, 1) <> "\" Then strOrdner = strOrdner & "\"
    Else
      strOrdner = ""
    End If
  End With
  If strOrdner = "" Then
    MsgBox "Kein Ordner gewählt!"
  Else
    ActiveWorkbook.SaveAs Filename:=strOrdner & Range("G20").Value & ", " & _
            Format(Range("E20").Value, "YYYY-MM-DD") & ", Smartsheet.xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
  End If
End Sub

Gruß Uwe
Hallo ihr,

vielen Dank für eure Hilfe,

leider kam ich erst heute dazu, das alles zu testen.
Jetzt läuft mein Code nach ein paar Umbauten wie ich es will.