M
MSCom
Neuer Benutzer
Threadstarter
- Dabei seit
- 20.09.2016
- Beiträge
- 1
Hallo!
Hab eine etwas speziellere Frage.
Ich bekomm mehrere CSV's welche gleich aufgebaut sind und mittels Semikolon getrennt sind.
Jetzt brauch ich von diesen CSV's jeweils den Dateinamen und zusätzlich den ersten und den letzten Eintrag der Spalte C.
Die Anzahl ist immer variable also müsste VBA selbst erkennen welche die letzte gefüllte Zeile ist.
Ich hab es bis jetzt nur geschafft alle Dateinamen aus den Ordnern und Unterordnern aufzulisten.
Leider nicht diese zu öffnen und mir den ersten Wert und den letzten Wert wiederzugeben.
Danke!
Untenstehend der aktuelle Code
Sub DateienMitUnterordnernAuflisten()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.getfolder("PFAD")
Set objDateienliste = objVerzeichnis.Files
lngZeile = 1
For Each objDatei In objDateienliste
If Not objDatei Is Nothing Then
ActiveSheet.Cells(lngZeile, 1) = objDatei.Name
lngZeile = lngZeile + 1
End If
Next objDatei
Call UnterOrdnerAuslesen(objVerzeichnis)
End Sub
Sub UnterOrdnerAuslesen(ByVal strDateipfad As String)
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objUnterordner As Object
Dim objDatei As Object
Dim i As Long
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.getfolder(strDateipfad)
If Cells(Rows.Count, 1).End(xlUp).Row >= 1 Then
i = Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
i = 1
End If
For Each objUnterordner In objVerzeichnis.subfolders
For Each objDatei In objUnterordner.Files
If Not objDatei Is Nothing Then
ActiveSheet.Cells(i, 1) = objDatei.Name
i = i + 1
End If
Next objDatei
Next objUnterordner
End Sub
Hab eine etwas speziellere Frage.
Ich bekomm mehrere CSV's welche gleich aufgebaut sind und mittels Semikolon getrennt sind.
Jetzt brauch ich von diesen CSV's jeweils den Dateinamen und zusätzlich den ersten und den letzten Eintrag der Spalte C.
Die Anzahl ist immer variable also müsste VBA selbst erkennen welche die letzte gefüllte Zeile ist.
Ich hab es bis jetzt nur geschafft alle Dateinamen aus den Ordnern und Unterordnern aufzulisten.
Leider nicht diese zu öffnen und mir den ersten Wert und den letzten Wert wiederzugeben.
Danke!
Untenstehend der aktuelle Code
Sub DateienMitUnterordnernAuflisten()
Dim lngZeile As Long
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objDateienliste As Object
Dim objDatei As Object
Set objFileSystem = CreateObject("scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.getfolder("PFAD")
Set objDateienliste = objVerzeichnis.Files
lngZeile = 1
For Each objDatei In objDateienliste
If Not objDatei Is Nothing Then
ActiveSheet.Cells(lngZeile, 1) = objDatei.Name
lngZeile = lngZeile + 1
End If
Next objDatei
Call UnterOrdnerAuslesen(objVerzeichnis)
End Sub
Sub UnterOrdnerAuslesen(ByVal strDateipfad As String)
Dim objFileSystem As Object
Dim objVerzeichnis As Object
Dim objUnterordner As Object
Dim objDatei As Object
Dim i As Long
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.getfolder(strDateipfad)
If Cells(Rows.Count, 1).End(xlUp).Row >= 1 Then
i = Cells(Rows.Count, 1).End(xlUp).Row + 1
Else
i = 1
End If
For Each objUnterordner In objVerzeichnis.subfolders
For Each objDatei In objUnterordner.Files
If Not objDatei Is Nothing Then
ActiveSheet.Cells(i, 1) = objDatei.Name
i = i + 1
End If
Next objDatei
Next objUnterordner
End Sub