Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro soll die neuste Datei auswählen

Makro soll die neuste Datei auswählen
11.11.2015 16:50:41
Franco
Hallo zusammen,
ich scheitere gerade an einem wahrscheinlich ganz einfachen Code. Habe folgendes Makro geschrieben um eine Datei zu öffnen:

Sub Lagerbestände_kopieren()
'Lagerbestand in die Datei kopieren
Dim Pfad As Variant
Dim DateinameLB As Variant
Pfad = "M:\Verkaufsteam\Lagerbestand\"
DateinameLB = Dir(Pfad & "Lagerbestand*.xlsx")
If DateinameLB = "" Then
Beep
MsgBox "Es wurde keine Datei 'Lagerbestand' gefunden"
End
End If
Workbooks.Open Pfad & DateinameLB
End Sub

Nun liegen in dem Ordner aber Dateien von verschiedenen Tagen die wie folgt benannt sind: LagerbestandJJJJMMTT.xlsx JJJJMMTT steht natürlich für das aktuelle Datum. Wie kann ich das Makro anweisen, dass er die aktuellste Version der Datei auswählt?
Ich habe das Makro aus einer anderen Datei kopiert, da funktioniert es seltsamerweise. Löschen der alten Dateien ist leider keine Option, da die ausführenden Benutzer in dem Ordner keine Löschrechte besitzen.
Danke für die Unterstützung!
Viele Grüße
Franco

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Datum rückwärts bis x...
11.11.2015 17:20:30
Michael
Hi Franco,
try this:
Sub Lagerbestände_kopieren()
'Lagerbestand in die Datei kopieren
Dim Pfad As Variant
Dim DateinameLB As Variant
Dim vorher As Long
Const maximal = 10
'ThisWorkboook.Path wieder ersetzen:
' "M:\Verkaufsteam\Lagerbestand\" (auf \ aufpassen)
Do
Pfad = ThisWorkbook.Path & "\" & _
"Lagerbestand" & Format(Date - vorher, "YYYYMMDD") _
& ".xlsx"
'MsgBox Pfad
DateinameLB = Dir(Pfad)
vorher = vorher + 1
Loop Until vorher = maximal Or DateinameLB  ""
MsgBox "vorher: " & vorher
If DateinameLB = "" Then
Beep
MsgBox "Es wurde keine Datei 'Lagerbestand' gefunden"
End
End If
'Workbooks.Open Pfad & DateinameLB
MsgBox Pfad ' ohne DateinameLB
End Sub
Die Konstante kannst ja nach Bedarf ändern.
Happy Exceling,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige