全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
19760 9
2012-01-31
刚接触Excel2007 VBA 不长时间,碰到一个小问题,下面是关闭指定工作簿子过程:

Sub 关闭指定工作簿()
Dim filename As String
filename = Sheets("Sheet3").Range("B1").value
Workbooks(filename).Close
End Sub

把变量filename作为参数来关闭指定的工作簿,运行时出错,提示“下标越界”,这是为什么呢?哪位大侠给小弟指点一下~~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-2-1 09:49:08
看一下 filename 取到的是不是完整的文件名,要包括后缀。或者再加进文件路径试试看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-1 10:51:01
是完整的路径呀,E:\Company\人员信息更新表.xlsx,不行
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-1 10:51:24
willl 发表于 2012-2-1 09:49
看一下 filename 取到的是不是完整的文件名,要包括后缀。或者再加进文件路径试试看
是完整的路径呀,E:\Company\人员信息更新表.xlsx,不行
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-2 09:51:31
最好发个附件,大家好研究研究,呵呵
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-2-2 14:34:22
gaotao0727 发表于 2012-2-1 10:51
是完整的路径呀,E:\Company\人员信息更新表.xlsx,不行
出错恰恰是因为用了完整路径,Excel关闭打开的工作簿的代码是:
Workbooks(工作簿名称).Close True/False
代码中()内是工作簿“名称”,不是“完整路径”。
所以在表3的B1单元格内放置工作簿名称“人员信息更新表.xlsx”即可,相应的代码如下:
复制代码
附件:
closewb1.rar
大小:(5.91 KB)

 马上下载

本附件包括:

  • closewb1.xls


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群