【发布时间】:2020-12-08 04:51:05
【问题描述】:
我有一个宏(在主工作簿中),它使用 .value2 从另一个工作簿/工作表中获取数据。
我在代码中尝试了不同的更改。我仔细检查了两个工作簿是否都打开了。但是,我不断收到Subscript out of range (Error 9)。
Sub NielsenScorecard_DataPaste()
Dim WbNielsenScorecard As Workbook
Set WbNielsenScorecard = Workbooks("Nielsen Scorecard_Template.xlsm")
TotalUS_DataPaste
End Sub
Sub TotalUS_DataPaste()
**Subscript out of range (Error 9)**
With Workbooks("Power Query - Meijer_Walmart_Total US xAOC.xlsm").Worksheets("PQTotalUS")
Dim Data(0) As Variant
'Copy Data Range
Data(0) = .Range(.Cells(.Rows.Count, "A").End(xlUp), "AA2").Value2
End With
'Worksheet Code Name within this Workbook
With wsTotalUS
Debug.Print wsTotalUS.Name
.AutoFilter.ShowAllData
.Range("A2:AA" & .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row).ClearContents
With .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Resize(UBound(Data(0)))
.Resize(ColumnSize:=UBound(Data(0), 2)).Value2 = Data(0)
End With
End With
End Sub
【问题讨论】:
-
仔细检查工作簿和工作表的拼写以及目标工作簿是否打开。
-
工作簿“Power Query Meijer_Walmart_Total US xAOC.xlsm”是否打开?
-
@ScottCraner 我添加了工作簿/工作表的打印屏幕。一切都是开放的,拼写正确..除非我完全错过了什么
-
@FaneDuru 我添加了一个打印屏幕:是的,“Power Query - Meijer_Walmart_Total US xAOC.xlsm”已打开
-
在您的屏幕截图中,
PQ Total US中有空格。您的代码中没有。代号和工作表名称之间的区别。