【发布时间】:2020-04-03 05:31:04
【问题描述】:
我有一个包含多张工作表的工作簿,我正在尝试在 sheet2 中设置一个宏,该宏将清除 sheet2 的内容,然后从 sheet6 复制从第 2 行到最后一行的一系列数据(列 A:Q)从第 2 行到 sheet2 的相应列的数据行。我找到了一些可以进行复制的代码,但我怀疑它只有在源工作表(sheet6)是活动工作表并且我需要它成为一部分时才有效要在 sheet2 上运行的宏,因为稍后要在宏中添加其他内容。 我在 sheet2 上使用的代码是这样的:
Sub AImportData()
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
ActiveWindow.SmallScroll Down:=-3
Dim ws As Worksheet
Set ws = Sheets("Sheet2")
With Sheets("Sheet6")
.Range("A:Q").Copy Destination:=ws.Range("A2")
End With
End Sub
这会清除 sheet2 中的数据,但是当它需要从 sheet6 复制数据时,我得到一个下标超出范围的错误。我曾尝试在我的代码中使用 ActiveWorksheet,但随后我收到了一个 object required 错误。请问这方面我需要一些指导吗?
在这里,您可以在 Project Explorer 中看到工作表的名称:
【问题讨论】:
-
确保工作簿中有工作表标签
Sheet6。我不确定您的错误发生在哪一行。请说明您在哪一行有问题? -
我在答案中添加了一个新部分。检查一下,如果它解决了问题,请告诉我。