我将首先描述我的代码的定义,然后定义我的问题,最后显示我当前的代码。
定义:
我正在尝试创建一个循环函数,该函数将计算具有特定/定义名称的文件夹中具有特定/定义名称的文件数。
列AE定义文件夹路径(“文件夹”)。 列AH定义文件名(“ExcelFN”)。
单元格$labelname1=$_POST['itemMetaArray']['label1'];
$labelname2=$_POST['itemMetaArray']['label2'];
定义此函数应循环的行数(AI1
)。
我希望函数(1)循环通过x行,(2)计算在定义的文件夹中找到具有定义的FileName(FileName = cell“AH& i”)的文件数(FolderPath = cell“AE & i“),然后(3)将文件数放入单元格”AI& i“,最后(4)移动到下一行”i“并重复前面的步骤。
问题:
我的问题是我的代码正在放置1,2,3,4,5等......一直到AI - 作为一个注释,当我向下移动时,我没有连续更大的文件数,很明显,人们不能保存同名的多个文件。
我的猜测是,在计算下一行的文件数量之前,我的代码不会将NumFiles刷新为零,只是将当前行的文件数添加到前一行的文件数中。
CODE:
最后 - 这是我的代码:
AI1 = "x"
答案 0 :(得分:1)
只需在循环开头重置NumFiles
的值:
For i = 2 To x
NumFiles = 0 '<-- Reset count
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