Worksheets("统计").Range("A3") = Workbooks("X县").Worksheets("土地供应结构").Range("D3")
Worksheets("统计").Range("A4") = Workbooks("Y县").Worksheets("土地供应结构").Range("D4")
运行时 提示下标越界 如果我手动打开X县 则会报第二条下标越界了 但是我在命令前加上Workbooks.Open 打开X县 虽然我显示X县 这个excel打开了 但是还会报第一条下表越界 必须是我手动打开才不报 请高手告诉我怎么样才能弄好
excel宏 下标越界 从多个表获取数据到已打开的表单时报错
答案:2 悬赏:10 手机版
解决时间 2021-01-25 04:13
- 提问者网友:不爱我么
- 2021-01-24 19:19
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-01-24 20:26
Workbooks.Open 打开X县以后,当前workbook 变成 x县了,Worksheets("统计").Range("A3")就是 指 Workbooks("X县").Worksheets("统计").Range("A3"),这样显然会出错。可以这样改:
set wk=activeworkbook '将当前workbook对象存入wk
Workbooks.Open xxx '打开x县workbook
Workbooks.Open yyy '打开y县workbook
'wk.Activate 加这一句的话,下面就可以不用加wk.
wk.Worksheets("统计").Range("A3") = Workbooks("X县").Worksheets("土地供应结构").Range("D3")
wk.Worksheets("统计").Range("A4") = Workbooks("Y县").Worksheets("土地供应结构").Range("D4")
也可以不用宏,直接引用,A3输入 =(用鼠标点到x县土地供应结构表的D3,在点击勾即可),这样下次就不用打开x县,y县,可手动更新,也可设置自动更新(当然x县excel文件的地址不能变)
set wk=activeworkbook '将当前workbook对象存入wk
Workbooks.Open xxx '打开x县workbook
Workbooks.Open yyy '打开y县workbook
'wk.Activate 加这一句的话,下面就可以不用加wk.
wk.Worksheets("统计").Range("A3") = Workbooks("X县").Worksheets("土地供应结构").Range("D3")
wk.Worksheets("统计").Range("A4") = Workbooks("Y县").Worksheets("土地供应结构").Range("D4")
也可以不用宏,直接引用,A3输入 =(用鼠标点到x县土地供应结构表的D3,在点击勾即可),这样下次就不用打开x县,y县,可手动更新,也可设置自动更新(当然x县excel文件的地址不能变)
全部回答
- 1楼网友:执傲
- 2021-01-24 21:42
额
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯