Excel 在VBA中引用其他工作簿/工作表时,为什么下标超出范围错误9?
我有一个宏(在主工作簿中),它使用Excel 在VBA中引用其他工作簿/工作表时,为什么下标超出范围错误9?,excel,vba,Excel,Vba,我有一个宏(在主工作簿中),它使用.value2从另一个工作簿/工作表获取数据 我在代码中尝试了不同的更改。我仔细检查了两本工作簿是否都打开了。但是,我一直使下标超出范围(错误9) 您可以通过工作表的代码名引用工作表,但它的格式不同,必须位于本工作簿中。一个缺点是,您不能通过代码名引用另一工作簿中的工作表工作表(“PQ总计US”)。激活与PQTotalUS。激活。如果您的目标是缩短代码,而不必重复较长的名称,那么另一个选项是执行以下操作: Dim wb1 as Workbook Dim ws1
.value2
从另一个工作簿/工作表获取数据
我在代码中尝试了不同的更改。我仔细检查了两本工作簿是否都打开了。但是,我一直使下标超出范围(错误9)
您可以通过工作表的代码名引用工作表,但它的格式不同,必须位于本工作簿中。一个缺点是,您不能通过代码名引用另一工作簿中的工作表<代码>工作表(“PQ总计US”)。激活与
PQTotalUS。激活
。如果您的目标是缩短代码,而不必重复较长的名称,那么另一个选项是执行以下操作:
Dim wb1 as Workbook
Dim ws1 as Worksheet
Set wb1 = Workbooks("Power Query Meijer_Walmart_Total US xAOC.xlsm")
Set ws1 = wb1.Worksheets("PQ Total US")
With ws1
'Do something
End with
仔细检查工作簿和工作表的拼写以及目标工作簿是否已打开。工作簿“Power Query Meijer_Walmart_Total US xAOC.xlsm”是否已打开?@ScottCraner I添加了工作簿/工作表的打印屏幕。一切都是开放的,拼写正确。。除非我完全失踪了something@FaneDuru我添加了一个打印屏幕:是的,“Power Query-Meijer_Walmart_Total US xAOC.xlsm”在您的屏幕截图中打开,
PQ Total US
中有空格。代码中没有。代码名和工作表名称之间的差异。
Dim wb1 as Workbook
Dim ws1 as Worksheet
Set wb1 = Workbooks("Power Query Meijer_Walmart_Total US xAOC.xlsm")
Set ws1 = wb1.Worksheets("PQ Total US")
With ws1
'Do something
End with