Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1192to1196
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

Datei finden

Datei finden
falkitho@web.de
Hallo zusammen,
ich bastel schon seit längerer Zeit an einem Excel Tool und bin nun an meine Grenzen gestoßen. Ich hoffe ihr könnt mir weitehelfen.
Nun zu meinem Problem:
In einem Verzeichniss liegen Dateien, die immer mit dem gleichen Namen beginnen, sich jedoch im Datum und in der Revisionsnummer unterscheiden. Bspw. TFP_24.12.2010_REV1
Sobald ich die Datei verändere macht ein anderes Makro mir automatisch REV2 daraus. Nun soll das untenstehende Makro die letzte aktuelle Datei (REV Nummer) zu dem von mir eingestellte Datum herausfiltern. Würde ich also als Datum den 24.12.2010 angeben, sollte die Datei TFP_24.12.2010 mit der höchsten REV Nummer übergeben werden. Mein Makro sieht folgendermaßen aus. Die Variablen habe ich als Public in einem anderen Modul deklariert.
datum = Date
my_month = Format(datum, "mm")
my_year = Format(datum, "yyyy")
datum2 = (Worksheets("Tabelle1").Range("B2")) ' Hier übergeb ich das Datum
pfad = Worksheets("Sys_Parameter").Range("B8") ' Hier übergebe ich einen Teil des Verzeichnisspfades
masterpfad = Worksheets("Sys_Parameter").Range("B2") ' Hier übergebe ich einen Teil des Pfades
dateiname2 = Worksheets("Sys_Parameter").Range("C8") ' Hier lege ich den Dateinamen (TFP_ fest)
AktuellstesDatum = DateValue("1.1.2000")
'neuestedatei = ""
'Set FS = CreateObject("scripting.filesystemobject")
'Set Drv = FS.GetFolder(masterpfad + pfad + "\" + my_year + "\" + my_month + "\")
'
'Index = 1
'r = CStr(Index)
'
'For Each Datei In Drv.Files
'For n = 1 To 10
' If Datei.DateLastModified > AktuellstesDatum And Datei.Name = dateiname2 + datum2 + "_REV" + r + ".xls" Then
' Index = Index + 1
' r = CStr(Index)
' neuestedatei = Datei.Name
' AktuellstesDatum = Datei.DateLastModified
' End If
'Next
'n = n + 1
'Next
Ich erhalte immer die letzte aktuelle Datei, egal welches Datum diese beinhaltet. Ich verzweifle, bitte helft mir.
DANKE und noch einen schönen 2. Weihnachtstag!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datei finden
26.12.2010 13:51:52
jowe
Hallo, wer immer Du bist.
Du könnstest die Dateinamen, die Deiner Vorgbe entsprechen in ein Array schreiben, das Array sortieren lassen und schließlich den Dateinamen mit dem größten Zahlwert ausgeben:
Option Explicit
Function SelectionSort(TempArray As Variant)
Dim MaxVal As Variant
Dim MaxIndex As Integer
Dim i, j As Integer
For i = UBound(TempArray) To 1 Step -1
MaxVal = TempArray(i)
MaxIndex = i
For j = 1 To i
If TempArray(j) > MaxVal Then
MaxVal = TempArray(j)
MaxIndex = j
End If
Next j
If MaxIndex 
Sub SelectionSortMyArray()
Dim TheArray(500), fName, sDatum As String
Dim i As Integer
sDatum = InputBox("Bitte ein Datum in dieser Form > TT.MM.JJJJ  ""
SelectionSort TheArray
MsgBox "Die neueste Version lautet auf: " & TheArray(UBound(TheArray))
End Sub

Gruß
Jochen
Anzeige
AW: Datei finden
27.12.2010 21:02:52
Falkitho
Hallo Jochen,
vielen vielen Dank, das ist genau das was ich gesucht habe. Noch nen schönen Abend und vielleicht bis bald nochmal.
Gruß,
Thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige