Nur bestimmte Dateien in einem Verzeichnis zählen
#1
Hallöchen,

ich habe folgendes Problem. In meinem Verzeichnis "C:\Neu\" befdinden sich 2 Arten von Dateien. Die einen
enthalten in ihrem Dateinamen ein "eng" und die  anderen ein "deu".  Wie kann ich alle Dateien mit "eng" und
wie mit "deu" zählen.  Der unten angegebene Code zählt alle Dateien und differenziert nicht. Vielen Dank für
eure Hilfe schon mal im voraus.


Code:
Sub DateienZählen()
'Zählen von bestimmten Sorten von Dateien
Dim fs As Object
Set fs = CreateObject("scripting.FileSystemObject")
Debug.Print fs.GetFolder("C:\Neu\").Files.Count
End Sub
Top
#2
Hallo,
Mit dir(pfad) beim ersten Mal, dann eine Schleife mit dir geht es etwas einfachen. Wenn die Dateinamen in einer Variablen sind, können diese mit inst(1, var, "deu") bzw "eng" durchsucht werden und damit auch gezählt werden.
Top
#3
Moin!
Ist das gleiche Prinzip wie hier:
http://www.clever-excel-forum.de/Thread-...3#pid29643
Jetzt musst Du nur noch die Asteriske korrekt setzen.

Sub DateienZaehlen()
    Dim strOrdnerName As String
    Dim strName As String
    Dim intz As Integer
        strOrdnerName = "C:\neu\"
        strName = Dir(strOrdnerName & "*deu*.xls*")
        Do While strName <> ""
            strName = Dir
            intz = intz + 1
        Loop
        MsgBox "Anzahl der Excel-Dateien: " & intz
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hallo,
vielen Dank für eure Hilfe, ich nehme mal an
es geht nur mit Schleifen und zählen aber wohl
nicht direkt oder?
Top
#5
Codealternative:
Code:
Sub Dateien_zählen_nach_Kriterium()
'Zählen von Dateien die in ihrem Namen deu oder eng enthalten

Dim fs As Object, intq, intw
Set fs = CreateObject("scripting.FileSystemObject")

For Each File In fs.GetFolder("C:\Neu").Files
If InStr(File.Name, "deu") Then intq = intq + 1
If InStr(File.Name, "dng") Then intw = intw + 1
Next File

Debug.Print "Anzahl deu : " & intq & " Anzahl eng : " & intw

End Sub
Top
#6
Hallo Nora,

direkt wird in Excel nichts. Du könntest alternativ nur in einer Shell mit dir *.abc das Ergebnis in eine Datei umleiten und diese dann einlesen.
oder auch direkt so:
http://www.clever-excel-forum.de/Thread-Uebersicht-der-im-Verzeichnis-Downloads-enthaltenen-Dateien?highlight=dir+shell

Problem beim den Shell-Dir ist jedoch die fehlende Unterscheidung der Kurz- und Langnamen (kurz:8.3 --> z.B. xlsx und xls werden nicht differenziert)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste