Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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
Antworten 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.
Antworten 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)
Antworten 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?
Antworten 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
Antworten 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)
Antworten Top


Gehe zu:


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