VBA数组问题:为什么一维数组要用二维数组的方式才能调用

老大,我又来请教了

'Mid数组
midarr = Sheet1.Range("F2:F" & SumFileHang + 1).Value
'这一句系统提示下标越界使用MsgBox midarr(33,1) 就正常了
MsgBox midarr(33)

请问这是什么原因

因为你引用的是一个区域,.value可以省略,直接通过range创建的数组是2维的。
就算只有1列,他也是个2维数组,不会因为只有1列就自动转换为1维数组。
midarr(33,1)
表示的是你引用区域里的第33行,第1列(虽然他只有1列)。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考