Ich habe mehrere Dateien welche ich regelmäßige bearbeiten und mit aktuellem Datum abspeichern muss. Hierfür habe ich mir ein Makro geschrieben, welches die Datei automatisch abspeichert.
Das funktioniert soweit ganz gut, da die meisten Dateien das Datum entweder am Anfang haben bzw. am Ende. Dabei kann die Form des Datums von yyyymmdd zu yymmdd variieren.
Mein Problem ist nun, das ich aktuell immer über eine Userform abfrage welches Format vorliegt und an welcher Position das Datum ist. Wenn das Datum mitten im Dateinamen steckt funktioniert das so nicht mehr.
Gibt es eine Möglichkeit automatisch die Form und die Position des Datums zu erkennen und auszutauschen?
Mein aktueller Code im Modul sieht so aus (Dposition und Datum sind globale Variablen welche _
ich über die Userform definiere):
Public Sub Save()
Application.ScreenUpdating = False
Dim sEndung As String
Dim ilaenge As Integer
Dim iZeichenPkt As Integer
ilaenge = Len(ActiveWorkbook.Name)
iZeichenPkt = InStrRev(ActiveWorkbook.Name, ".")
sEndung = Right(ActiveWorkbook.Name, iWortlaenge - iStellePunkt + 1)
AbfrageD.Show
Dim neu As String
If Dposition = "Ende" Then
neu = Replace(ActiveWorkbook.Name, sEndung, "")
neu = Left(neu, Len(neu) - Len(Datum))
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & neu & Datum & sEndung
Else
neu = ActiveWorkbook.Name
neu = Right(neu, Len(neu) - Len(Datum))
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Path & "\" & Datum & neu
Application.ScreenUpdating = True
End If
End Sub
PS: Über Vorschläge, wie der Code besser zu gestalten wäre bin ich immer Dankbar. Man will sich ja immer weiterentwickeln.Vielen Dank im Voraus!