Registriert seit: 05.12.2014
Version(en): 2010-2013
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
Registriert seit: 06.12.2015
Version(en): 2016
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.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Ist das gleiche Prinzip wie hier:
http://www.clever-excel-forum.de/Thread-...3#pid29643Jetzt 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)
Registriert seit: 05.12.2014
Version(en): 2010-2013
Hallo,
vielen Dank für eure Hilfe, ich nehme mal an
es geht nur mit Schleifen und zählen aber wohl
nicht direkt oder?
Registriert seit: 16.08.2014
Version(en): 2013
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
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
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)