我需要读取或清除特定范围内将动态增加的所有行。 问题是"选择的文件列表"表格范围未指定。通过浏览选择的新文件将添加到"选择的文件列表"动态。无法预测文件数量。
到目前为止我所尝试的是,跟踪浏览按钮单击并将文件路径添加到arraylist。 之后,(第9行,即起始行+ arraylist大小)得到表格末尾的行数。 但由于一些要求,我想从excel文件中读取文件。像-Read直到找到空白行或边框底部或东西。
我是VBA的新手,我不太清楚我在使用vba代码做什么,所以请善待:D
任何输入都将不胜感激。谢谢你宝贵的时间。
答案 0 :(得分:1)
如果文件列表中没有空白单元格,您可以为标题单元格(“选定文件列表”)指定名称,例如“SelFiles”并做这样的事情......
Sub Test()
' call the function
Debug.Print getSize(Range("SelFiles"), True)
End Sub
Function getSize(MyRange As Range, Optional HasHeader As Boolean = False)
Dim Idx As Integer
Idx = 2
Do While MyRange(Idx, 1) <> ""
Idx = Idx + 1
Loop
If HasHeader Then
getSize = Idx - 2
Else
getSize = Idx - 1
End If
End Function
该函数使用一些抽象,您可以将它用于包括/排除范围的范围。您的应用程序中可能还有其他需要计算行数的区域,因此只需将循环添加到主Sub()的代码中,就可以使用函数。