Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
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

Einlesen nach Änderungsdatum

Einlesen nach Änderungsdatum
SkyValley
Hallo zusammen
Ich lese mit diesem Code Dateien ein, die von 1 bis 200 nummeriert sind.
Da aber ab und an in dem Ordner nicht alle 200, sondern nur ein Teil des ganzen sich befindet, kann es vorkommen, dass die aktuellste Datei die Datei 3 ist. Es befinden sich dann z.B. Dateien in der Nummerierung 150-3 da. Zur Zeit liest er dann nur die letzten drei in diesem Beispiel ein. Ich dachte, da wäre es sinnvoller nach Änderungsdatum der Dateien einzulesen. Habe aber leider keine Ahnung wie das funktioniert. Kann mir da jemand helfen?
Der Code:
Private Sub Daten_einlesen_Click()
Application.DisplayAlerts = False
Dim strPfad As String
Dim strDateiname As String
Dim lngAbZeile As Long
Dim lngFileCnt As Long
Dim wksDaten As Worksheet
Dim lngLetzteZeile As Long
Set wksDaten = ThisWorkbook.Worksheets("Daten")
Application.ScreenUpdating = False
strPfad = Sheets("Aktionen").Range("K10")
If Right(strPfad, 1)  "\" Then strPfad = strPfad & "\"
strDateiname = Dir(strPfad & "dtaold*.dif")
If strDateiname = "" Then Exit Sub
lngFileCnt = CInt(Mid(Split(strDateiname, ".")(0), 7))
Do While strDateiname  ""
Workbooks.Open Filename:=strPfad & strDateiname
lngAbZeile = wksDaten.Cells(wksDaten.Rows.Count, 1).End(xlUp).Row + 1
Workbooks(strDateiname).Sheets(1).Range("A3:AC1001").Copy
wksDaten.Cells(lngAbZeile, 1).PasteSpecial
Application.CutCopyMode = False
Workbooks(strDateiname).Close
lngFileCnt = lngFileCnt + 1
If lngFileCnt = 201 Then lngFileCnt = 1
strDateiname = Dir(strPfad & "dtaold" & Trim(Str(lngFileCnt)) & ".dif")
lngLetzteZeile = wksDaten.Cells(wksDaten.Rows.Count, 1).End(xlUp).Row
wksDaten.Range(wksDaten.Cells(lngAbZeile, 30), wksDaten.Cells(lngLetzteZeile, 30)).FormulaR1C1  _
_
= "=(RC29-295.95)/208.44"
Loop
End Sub
Vielen Dank.
Gruß
SKY

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateiliste, Array sortieren, Änderungsdatum
02.06.2011 12:47:33
fcs
Hallo SKY,
ich hab meinen Fundus an VBA-Projekten mal für dich durchsucht. Und deine Prozedur angepasst.
In der Beispeldatei findest du im VBA-Projekt 3-Module, die alle benötigt werden.
Zum Testen werden im Blatt "Daten" in Spalte D die Dateinamen und in Spalte E das Datum der letzten Änderung eingetragen. Das muss du im Code natürlich wieder entfernen.
https://www.herber.de/bbs/user/75135.xls
mod_Dateiliste: erstellt ein Daten-Array mit Informationen zu den Dateien in Verzeichnissen
mod_ArraySortieren: Sortiert die Zeilen eines 2-dimensionalen-Daten-Arrays nach einer oder mehreren Spalten.
mod_Dateneinlesen: Enthält deine Prozedur modifiziert.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige