Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Änderungsdatum

VBA Änderungsdatum
09.02.2021 18:00:49
Mex
Servus Leute,
wie kann ich unter VBA in einem Ordner nach dem Änderungsdatum wählen? Sprich ich habe ein Ordner mit mehreren Dateien die so eingespeichert sind: - Einkauf-Januar / Einkauf-Februar usw..
Ich möchte immer die neuste erstellte auswählen ohne den Pfad immer ändern zu müssen im Makro.
Grüße
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Änderungsdatum
09.02.2021 18:25:58
Nepumuk
Hallo Mex,
ein Beispiel:
Option Explicit

Public Sub Beispiel()
    
    Dim objFileDialog As FileDialog
    
    Set objFileDialog = Application.FileDialog(fileDialogType:=msoFileDialogOpen)
    
    With objFileDialog
        
        .AllowMultiSelect = False
        .InitialFileName = "H:\210209\" 'Anpassen !!!
        If .Show Then .Execute
        
    End With
    
    Set objFileDialog = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Änderungsdatum
09.02.2021 21:56:22
Mex
Hallo Nepumuk,
vielen Dank.
Zieht dieses Beispiel automatisch die Neuste Datei oder öffnet es mir nur das Fenster vom Pfad wo ich mir es dann selbst aussuchen muss? Weil ich habe bereits ein Makro das läuft aber es soll aus dem Pfad immer die neuste ziehen.
Hoffe konnte mich ausführlich ausdrücken.
Danke :)
Anzeige
AW: VBA Änderungsdatum
10.02.2021 07:43:15
MCO
Guten Morgen, Mex!
Nach der Namensgebung öffnte dieses Makro immer die neueste Datei, dabei werden vom aktuellen Monat aus die Monate rückwärts durchgegangen.
Mich wundert allerdings, dass deine Dateinamen keine Jahresangaben erhalten. Das macht nur Sinn, wenn nicht länger als 1 Jahr archiviert wird.
Sub neueste_öffnen()
Dim fso As Object
Dim datei As Object
Set fso = CreateObject("Scripting.Filesystemobject")
Set sig_ordn = fso.GetFolder("C:\Temp") 'anpassen
ini_monat = CDbl(Format(Date, "m"))
Do
For Each fil In sig_ordn.Files
If InStr(fil.Name, Format("01." & ini_monat & ".20", "mmmm")) > 0 Then Exit Do
Next
ini_monat = ini_monat - 1
If ini_monat = 0 Then ini_monat = 12
Loop
'Debug.Print fil.Path
Workbooks.Open fil
Set fso = Nothing
Set sig_ordn = Nothing
End Sub
Viel Erfolg!
Gruß, MCO
Anzeige
AW: VBA Änderungsdatum
10.02.2021 10:37:36
Nepumuk
Hallo Mex,
teste mal:
Option Explicit

Public Sub Beispiel()
    
    Const FOLDER_PATH As String = "H:\210209\" 'Anpassen - abschließenden Backslash nicht löschen !!!
    
    Dim lngMonth As Long
    Dim strFileName As String
    
    For lngMonth = 12 To 1 Step -1
        
        strFileName = Dir$(FOLDER_PATH & "*" & MonthName(lngMonth) & "*.xls*")
        
        If strFileName <> vbNullString Then
            
            Workbooks.Open Filename:=FOLDER_PATH & strFileName
            
            Exit For
            
        End If
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Änderungsdatum
10.02.2021 17:59:27
Mex
Hallo Nepumuk,
vielen Dank werde ich später testen. =)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige