Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema InputBox
BildScreenshot zu InputBox InputBox-Seite mit Beispielarbeitsmappe aufrufen

Speichern mit Abfrage des Dateinamens

Betrifft: Speichern mit Abfrage des Dateinamens von: stormlamp
Geschrieben am: 01.10.2014 11:41:31

Hallo Zusammen,

ich möchte eine Mappe in einen Pfad absteichern in dem bereits eine andere Datei steht und dabei einen Teil des Dateinamens abfragen. Beispiel:

In Mappe1 gibt es die Tabellenblätter 1-3.
Das Script soll folgendes durchführen:
- Tabelle3 der Mappe1 in eine neue Mappe kopieren.
- Einen String abfragen, der als Teil des zukünftigen Dateinamens gilt
- Die neue Mappe abspeichern im gleichen Pfad, in der die Ausgangsmappe steht (UNC-Pfad)
- Der Dateiname ist "Bearbeiter_"& abgefragter Teil &"_Jahr_Monat_Tag_Stunde_Minute"
- Abspeicherung im CSV-Format ohne Rückfrage

Es wäre prima, wenn mir jemand diese Script zusammenstellen könnte.

Gruß
Hans

  

Betrifft: AW: Speichern mit Abfrage des Dateinamens von: yummi
Geschrieben am: 01.10.2014 12:23:51

Hallo Hans,

du musst nur anpassen woher der string kommen soll

Sub SpeichereDatei()

Dim wkb As Workbook
Dim wks As Worksheet
Dim strpath As String
Dim strDatei As String

    Set wkb = ThisWorkbook
    Set wks = wkb.Sheets("Tabelle3")
    strpath = wkb.Path
    strDatei = strpath & "\Bearbeiter_" & wks.Cells(1, 1).Value & "_" & Year(Now) & "_" & Month( _
Now) & "_" & Day(Now) & "_" & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now) & ".xls"
    
    wks.Copy
    ActiveWorkbook.SaveAs Filename:=strDatei, FileFormat:=xlCSV, CreateBackup:=False
End Sub
Gruß
yummi


  

Betrifft: AW: Speichern mit Abfrage des Dateinamens von: stormlamp
Geschrieben am: 01.10.2014 12:51:45

Hallo Yummi,

danke für die Hilfe.

Was beim Dateinamen allerdings jetzt als
wks.Cells(1, 1).Value
enthalten ist, soll stattdessen als Benutzereingabe mit einer Messagebox abgefragt werden.

Ideal wäre, wenn dabei aus Zelle A2 der Wert Teil(A2;2;2) vorgeschlagen würde, aber ergänzt oder überschrieben werden könnte.

Gruß
Hans


  

Betrifft: AW: Speichern mit Abfrage des Dateinamens von: yummi
Geschrieben am: 01.10.2014 13:00:40

Hallo Hans,

dein A2,2,2 interpretiere ich mal als aus dem String ab der 2. stelle 2 zeichen (deswegen der teil mit Mid bei strdefault

dann so:

Sub SpeichereDatei()

Dim wkb As Workbook
Dim wks As Worksheet
Dim strpath As String
Dim strDatei As String
Dim strdefault  As String
Dim strName As String

    Set wkb = ThisWorkbook
    Set wks = wkb.Sheets("Tabelle3")
    strpath = wkb.Path
    strdefault = Mid(wks.Cells(2, 1).Value, 2, 2)
    strName = InputBox("geben Sie einen Zusatz ein: ", "Eingabe", Default:=strdefault)
    strDatei = strpath & "\Bearbeiter_" & strName & "_" & Year(Now) & "_" & Month(Now) & "_" &  _
Day(Now) & "_" & Hour(Now) & "_" & Minute(Now) & "_" & Second(Now) & ".xls"
    
    wks.Copy
    ActiveWorkbook.SaveAs Filename:=strDatei, FileFormat:=xlCSV, CreateBackup:=False
End Sub

Gruß
yummi


  

Betrifft: AW: Speichern mit Abfrage des Dateinamens von: stormlamp
Geschrieben am: 01.10.2014 13:11:02

Hallo yummi,

der abzufragende Teil wird nicht vorgeschlagen und das Script bleibt bei der Zeile
wks.Copy
mit Laufzeitfehler 1004 hängen

Gruß
Hans


  

Betrifft: Gelöst: Speichern mit Abfrage des Dateinamens von: stormlamp
Geschrieben am: 01.10.2014 13:14:07

Hallo yummi,

danke, funktioniert doch - bei mir heißt die tabelle3 nur anders, das hatte ich übersehen.

Vielen Dank für Deine Hilfe

Freundliche Grüße
Hans


 

Beiträge aus den Excel-Beispielen zum Thema "Speichern mit Abfrage des Dateinamens"