Excel精英培训网

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

万年的下标越界

[复制链接]
发表于 2017-4-29 21:15 | 显示全部楼层 |阅读模式
Sub test()
Dim aa, sheet1name As String
sheet1name = Sheets("服务能力评价").Range("E5").Value
aa = Sheets("" & sheet1name & "").Range("E5").Value
MsgBox aa

End Sub
小白初学
调试是说明这句有问题   aa = Sheets("" & sheet1name & "").Range("E5").Value  小白找不到原因  跪求大神指点其中奥秘
我的MsgBox 只能提示aa的值

相关帖子

 楼主| 发表于 2017-4-29 21:25 | 显示全部楼层
回复

使用道具 举报

发表于 2017-4-29 21:29 | 显示全部楼层
sheet1name的赋值是多少,有叫sheet1name这个工作表吗?用string的变量工作表不用加“”,应该用sheets(sheet1name)
回复

使用道具 举报

发表于 2017-4-29 21:52 | 显示全部楼层
虽然烦琐一点,但是aa = Sheets("" & sheet1name & "").Range("E5").Value这样的表达方式是被允许的。最大的可能是sheet1name变量代表的工作表名并不存在而导致错误。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 08:47 , Processed in 0.348644 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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