Clever-Excel-Forum

Normale Version: mit Makro Datei mit aktuellem Datum öffnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich hab hier ein kleines Problem. Das wird für euch ein Klacks sein, aber ich als blutiger Anfänger komme da momentan nicht weiter :22:
Ich hab schon einiges gegoogelt, aber so richtig steige ich da nicht durch... :20:

Ich bekomme aus einem System jeden Tag eine Excel-Datei geliefert. Der Dateiname ist bis auf das Datum (tt.mm.yy) immer gleich, z.B. Dateiname_10.03.17.xlsx
Leider sieht die Datei ziemlich knödelig aus und ich muss sie jeden Tag umformatieren, Zellenformate, Spaltenbreite etc., um sie dann aufbereitet an einen anderen Ort mit gleichem Namen zu speichern.
Nun hab ich mir gedacht, das geht bestimmt auch mit einem Makro.
Das Makro aufgezeichnet und siehe da, es funktioniert prima... halt nur mit DIESER Datei.
Wie kann ich dem Makro beibringen, das immer die Datei mit dem tagesaktuellen Datum im Dateinamen bearbeitet wird?
So sieht mein Makro momentan aus:

' Test1 Makro
'
'
    ChDir "C:\Test"
    Workbooks.Open Filename:="C:\Test\Testdatei_07.03.17.xlsx"
.
.
.
.
    ChDir "C:\Test\Test1"
    ActiveWorkbook.SaveAs Filename:="C:\Test\Test1\Testdatei_07.03.17.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Hat vielleicht einer einen Tipp?

Grüße
Matthias
Hallo Matthias,

so z.B.:

Sub eee()
 Dim strDateinameAnfang As String
 Dim strDateinameHeute As String
 Dim strDateinameKomplett As String
 Dim strPfad As String
 
 strPfad = "C:\Test\"
 strDateinameAnfang = "Testdatei_*"
 
 strDateinameKomplett = Dir(strPfad & strDateinameAnfang) ' Ersten Eintrag abrufen.
 Do While strDateinameKomplett <> ""    ' Schleife beginnen.
   If CDate(Mid(strDateinameKomplett, Len(strDateinameAnfang), 8)) = Date Then
     strDateinameHeute = strDateinameKomplett
     Exit Do
   End If
   strDateinameKomplett = Dir    ' Nächsten Eintrag abrufen.
 Loop
 
 If Len(strDateinameHeute) Then
   Workbooks.Open Filename:=strPfad & strDateinameHeute
   '.
   '.
   '.
   ActiveWorkbook.SaveAs Filename:=strPfad & "Test1\" & strDateinameHeute, _
                         FileFormat:=xlOpenXMLWorkbook, _
                         CreateBackup:=False
 Else
   MsgBox "Es wurde keine Datei von Heute gefunden.", vbInformation
 End If
End Sub

Gruß Uwe
Hallo Uwe,

ui, das ginb aber fix. Das sieht ja professionell aus. Werd ich gleich mal ausprobieren...
Schon mal vielen Dank für die Mühe...

Gruß
Matthias
Hallo Uwe,

funktioniert suuuuper.
Vielen Dank :19:

Gruß
Matthias