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.

Datei automatisch im Monatsordner speichern
#11
Hallo Turbo123,

zu deiner Nachfrage:

Zitat:Aber ändere ich dein Code um das er nicht eine xlsx sondern eine xlsm Datei speichert??

Infos dazu im Makro CODE

Sicher könnte man deinen Code noch einfacher schreiben, wenn man dein Vorhaben genauer kennen würde.
z.B. Dateipfad ist immer gleich, außer dem Monatsnamen und eventuell SheetNamen

Die Unbekannte ist Range("B3").Value, eventuell der SheetName

z.B. welche Daten sollen im Dateinamen gespeichert werden, u.s.w.
"F:\Uwe\Documents\Excel\Test\November\Sicherung\OriginalDatName_Postausgang_01_Nov_2019_112217.xlsx"
"F:\Uwe\Documents\Excel\Test\November\Sicherung\OriginalDatName_Posteingang_01_Nov_2019_112213.xlsx"

Den Dateipfad und Dateiname kannst du selbst nach wunsch anpassen.
Code:
Option Explicit

'
'Deklarieren für 64-Bit, oder 32-Bit Excelversion
'
#If VBA7 Then
   Declare PtrSafe Function MakePath& Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal sPath$)
 
#Else
   Declare Function MakePath& Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal sPath$)
 
#End If


Sub SpeichernUnterHG()
   Dim Pfad    As String
   Dim datName As String

   Pfad = "F:\Uwe\Documents\Excel\Test\" & Format(Date, "MMMM") & "\Sicherung\"
   datName = Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1) & "_" _
       & ActiveSheet.Name & "_" & Format(Now, "DD_MMM_YYYY_hhmmss")

   'DateiPfad erstellen, wenn nicht vorhanden
   MakePath Pfad

   ActiveSheet.Copy
   
   'Info zu FileFormat:=
   '50 = .xlsb
   '51 = .xlsx
   '52 = .xlsm
   '53 = .xltm
   '54 = .xltx
   '55 = .xlam
   '56 = .xls
   '57 = .pdf
   '58 = .xps

'    ActiveWorkbook.SaveAs Filename:=Pfad & "\Test_" & Range("B3").Value & "_" & Format(Now, "DD_MMM_YYYY_hhmm"), FileFormat:=52
   ActiveWorkbook.SaveAs Filename:=Pfad & datName, FileFormat:=51
   ActiveWorkbook.Close

End Sub
Gruß Karl
Antworten Top
#12
@hhd

Ohne API:


Code:
    CreateObject("shell.application").Namespace("G:").NewFolder "OF\AA1\BB2"
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • hddiesel
Antworten Top


Gehe zu:


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