AW: Dateien mit der bestimmte Dateiendung auflisten?
07.01.2018 07:52:06
Werner
Hallo Sergej,
leg mal eine neue Mappe an mit einem einzelnen Tabellenblatt. Das Tabellenblatt benennst du bitte in "Alle-CFG" um.
Den angefügten Code in ein allgemeines Modul, Schaltfläche aufs Tabellenblatt und der Schaltfläche den Code zuweisen. Dann teste mal.
Option Explicit
Sub Verzeichnis_auslesen()
Dim strQuellOrdner As String, strZielOrdner As String
Dim strDatei As String, i As Long, n As Long
Dim boVorhanden As Boolean
i = 1: n = 1
strQuellOrdner = "C:\Daten\Konfigurationen\"
'strZielOrdner = "P:\Export\"
strDatei = Dir(strQuellOrdner & "*.*")
Application.ScreenUpdating = False
With Worksheets("Alle-CFG")
Do While strDatei ""
If LCase(strDatei) Like "*.cfg" Then
Range("A" & i) = strQuellOrdner & "\" & strDatei
boVorhanden = True
i = i + 1
End If
strDatei = Dir
Loop
If boVorhanden Then
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 1 To loLetzte Step 15
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = "CFG-" & Format(n, "000")
.Range(.Cells(i, 1), .Cells(i + 14, 1)).Copy
ActiveSheet.Range ("A1")
n = n + 1
Next i
Else
MsgBox "Keine CFG-Dateien im Ordner vorhanden."
End If
.Activate
End With
Application.ScreenUpdating = True
End Sub
Beim derzeitigen Stand werden die entsprechenden Daten aus dem Verzeichnis ausgelesen und im Tabellenblatt "Alle-CFG" gelistet. Danach werden die Daten in 15er Blöcke gesplittet, für jeden Block wird ein Tabellenblatt mit dem entsprechenden Namen angelegt und die Daten reinkopiert.
Das Exportieren habe ich im Moment noch nicht drin. Da müsste man einfach in einer Schleife über die erzeugten Tabelleblätter und die dann jweils als Textdatei im Zielverzeichnis speichern.
Sortiert müsste die Auflistung eigentlich automatisch sein, da sie im Verzeichnis ja sortiert vorhanden sind.
Gruß Werner