[英]Referencing sheet by name returns "subscript out of range" error
设置:
我运行这段代码。
Sub RunMacro()
Run "'E:\programs(x86)\Dropbox\work\excel\data.xlsm'!UpdateAll"
End Sub
错误返回:
下标超出范围(错误 9)
“调试”导致:
Sub UpdateAll()
daysBack = Sheets("Update").Range("B1").Value '<--- Called out as the error
Call getDatabase11DATA
Call correctData
End Sub
经常问的问题:
我对所有这些问题的回答:
活动工作簿中没有Update
表。 这个:
Sheets("Update")
是隐含的:
ActiveWorkbook.Sheets("Update")
要么 1) ActiveWorkbook
不是您期望的书,要么 2) 工作表名称拼写错误; 查看(并删除)前导或尾随空格。
请注意, Sheets
集合还可以包含图表; 如果您要查找工作表,请使用Worksheets
集合。
将解决方案从问题移动到答案:
编辑:解决方案是将第二个代码中的第二行编辑为这种格式:
daysBack = Workbooks("name_of_workbook_containing_update_sheet").Sheets("Update").Range("B1").Value
在我的情况下是:
daysBack = Workbooks("data").Sheets("Update").Range("B1").Value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.