Sub test()Application.ScreenUpdating = FalseDim f, wb, xf = Application.GetOpenFilename("Excel2003文件,*.xls,Word文件,*.doc,文本文件,*.txt", 1, MultiSelect:=True)For x = 1 To UBound(f)Set wb = Workbooks.Open(f(x))NextEnd Sub1我不理解当初你写For x = 1 To UBound(f) 是什么意思2UBOUND(f) 我理解的f 是个变量名称 你给我做的就是F就代表某EXCEL文件 然后是EXCEL的数量的最大数 问题我不知道循环这个又什么用 (我理解对不)
2 回答

侃侃无极
TA贡献2051条经验 获得超10个赞
问题一:
f = Application.GetOpenFilename;这句后F是一个一维数组,分别为你选中的文件;
你可以输入代码PRINT F(1) 这个就会显示第一个文件;PRINT (2) 就会显示你选中的第二个文件
如果我们选中的是2个文件,那么 UBound(f)就为2了。
定义 For x = 1 To UBound(f),是为了后面我要一个个的用WORKBOOKS.OPEN打开这些文件!
就是这句:Set wb = Workbooks.Open(f(x))
问题二:
假设我们都不知道自己选了多少文件,但是F知道。那么F的最大值为多少呢,就为UBound(f),意思就是f这个数组的最大值,还有其它用法,顺便提一下,如下:
'数组是用编号排序的,那么如何获得一个数组的大小呢 'Lbound(数组) 可以获取数组的最小下标(编号) 'Ubound(数组) 可以获取数组的最大上标(编号) 'Ubound(数组,1) 可以获得数组的行方面(第1维)最大上标 'Ubound(数组,2) 可以获得数组的列方向(第2维)的最大上标 |
我也不知道自己解释清楚没有,不知道你有没有学习过数组,如果还没有学过,可能理解起来有点困难。
添加回答
举报
0/150
提交
取消