Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6638|回复: 6

[已解决]请教大神:怎么在VBA中使用中文表名

[复制链接]
发表于 2013-6-28 15:57 | 显示全部楼层 |阅读模式
本帖最后由 mafamucuo 于 2013-6-28 16:24 编辑

取数代码如下:
Sub GetDataFromClosedWorkbook()
    Dim wb As Workbook
    Application.ScreenUpdating = False
    '以只读方式打开工作簿
    Set wb = Workbooks.Open("e:\1.xlsx", True, True)
    With ThisWorkbook.Worksheets("sheet1")
        '从工作簿中读取数据
        .Range("A1").Formula = wb.Sheets("sheet1").Range("A1").Formula
    End With
    wb.Close False '关闭打开的源数据工作簿且不保存任何变化
    Set wb = Nothing '释放内存
    Application.ScreenUpdating = True
End Sub
我将代码中标红色部分替换成中文表名如"表1",执行就会提示“下标越界”,请教大神这是什么原因?怎么修改!
补充说明:上述代码在e:\1.xlsx工作薄的表名字为"sheet1"时是可以正确执行的,但是我把工作薄中的表名字改成“表1”后同时对应将代码中的红色字体改成("表1")后执行就报错了。
最佳答案
2013-6-28 16:49
你看看,这个。
发表于 2013-6-28 16:49 | 显示全部楼层    本楼为最佳答案   
你看看,这个。

工作薄数据提取.rar

22.14 KB, 下载次数: 143

回复

使用道具 举报

发表于 2013-6-28 16:08 | 显示全部楼层
首先你要确实有代码的工作薄中有叫“表1”的工作表。其次也要用英文的引号,Sheets("表1")
回复

使用道具 举报

发表于 2013-6-28 16:10 | 显示全部楼层
wb.Sheets("sheet1")这个里面是否有“表1”?
回复

使用道具 举报

 楼主| 发表于 2013-6-28 16:24 | 显示全部楼层
ligh1298 发表于 2013-6-28 16:10
wb.Sheets("sheet1")这个里面是否有“表1”?

有的
回复

使用道具 举报

发表于 2013-6-28 16:38 | 显示全部楼层
最好是上传附件,有附件,才有真相。
回复

使用道具 举报

 楼主| 发表于 2013-6-28 17:54 | 显示全部楼层
ligh1298 发表于 2013-6-28 16:49
你看看,这个。

就是这个,谢谢!!万分感谢!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-1 20:36 , Processed in 0.354014 second(s), 16 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表