Сначала я опишу определения моего кода, затем определите свою проблему и, наконец, покажу текущий код.Количество файлов с конкретным именем файла в определенной папке
ОПРЕДЕЛЕНИЕ:
Я пытаюсь создать зацикленную функцию, которая подсчитывает количество файлов с определенным/определенным именем в папке с определенным/определенным именем.
Столбец AE определяет путь к папке («Папка»). Столбец AH определяет имя файла («ExcelFN»).
Сотовый AI1
определяет, сколько строк должно выполняться этой функцией (AI1 = "x"
).
Я ожидаю, что функция (1) проведет цикл через число строк, (2) подсчитает, сколько файлов с определенным файловым именем (FileName = cell «AH & i») находятся в определенной папке (FolderPath = cell «AE & i "), затем (3) поместите количество файлов в ячейку« AI & i »и, наконец, (4) перейдите к следующей строке« i »и повторите предыдущие шаги.
ПРОБЛЕМА:
Моя проблема заключается в том, что мой код размещения 1, 2, 3, 4, 5, и т.д. ... все пути вниз AI - Как примечание, я не последовательно больше количество файлов по мере того, как я перемещаюсь по списку, так как должно быть очевидно, что нельзя сохранить несколько файлов с тем же именем.
Я предполагаю, что мой код не обновляет NumFiles до нуля, прежде чем подсчитывать количество файлов следующей строки и просто добавляя количество файлов текущих строк в число файлов предыдущих строк.
КОД:
НАКОНЕЦ - вот мой код:
Sub CountFiles()
Sheets("Sheet1").Activate
Dim i As Integer
Dim x As Integer
Dim Folder As String
Dim ExcelFN As String
Dim NumFiles As Integer
x = Sheets("Sheet1").Range("AI1").Value '====>> Define Number of Rows <<====
For i = 2 To x
Folder = Sheets("Sheet1").Range("AE" & i).Value & "\"
ExcelFN = Sheets("Sheet1").Range("AH" & i).Value
Filename = Dir(Folder & ExcelFN & "*" & ".xlsm")
While Filename <> ""
NumFiles = NumFiles + 1
Filename = Dir()
Wend
Sheets("Sheet1").Range("AI" & i) = NumFiles
Next i
End Sub