>>977 >>959のArray関数はVariant型の配列を返すんだよ。だからVarinat型。
Array関数じゃなくSplit関数使って
WB = Split("test-1.xls test-2.xls test-3.xls test-4.xls test-4.xls")
とすればDim WB() As StringでもいいけどWBもVariant型が普通だな。
ちなみにSplitはExcel2000以降な。
Arrayより少し楽だぜ。
>>960は2個以上のセルの値は2次元配列になり、配列をいきなり変数に入れるならVariant型の変数にしか入れなれない。
WBがRange型なら
Set WB = Range("A1:A5") ' 予めセルA1〜A5にファイル名を入れとく
For Each FN In WB
Workbooks.Open Filename:="D:\data\" & FN.Value
Next FN
としないといかん。もちろん
>>960の方が良い。