Hi,
da bei MS-Office niemand antwortet, ........
Unten siehst du meine Demo-Dateinamen und den Code, der für jeden Tag den Dateinamen mit dem höchsten "vv" bestimmt. Mit dieser Kenntnis ist es einfach mit "workbooks.open()" die richtige Datei zu öffnen und die Daten zu übernehmen.
Teste bitte mal den Code (die Ausgabe erfolgt ins Direktfenster des VBA-Editors)
Nm_20170111_1_er
Nm_20170111_2_er
Nm_20170111_3_er
Nm_20170111_4_er
Nm_20170112_5_er
Nm_20170112_6_er
Nm_20170112_7_er
Nm_20170112_8_er
Nm_20170113_9_er
Nm_20170113_10_er
Nm_20170113_11_er
Nm_20170113_12_er
Nm_20170114_13_er
Nm_20170114_14_er
Nm_20170114_15_er
Nm_20170114_16_er
Sub Mave()
lr = Cells(Rows.Count, "E").End(xlUp).Row
With CreateObject("scripting.dictionary")
For i = 1 To lr
Tx = Cells(i, "E")
Fx = Split(Tx, "_")
' da = Fx(1)
Da = DateSerial(Left(Fx(1), 4), Mid(Fx(1), 5, 2), Right(Fx(1), 2))
vv = Fx(2)
If Not .exists(Da) Then
.Item(Da) = vv
Else
If Val(vv) > Val(.Item(Da)) Then
.Item(Da) = vv
Cells(i - 1, "E").Clear
End If
End If
Next i
For Each k In .keys
If k > Int(Now) - 4 Then Debug.Print k, .Item(k)
Next k
End With
End Sub
|