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
提交
取消