如何从非活动工作簿复制范围

如何从非活动工作簿复制范围

我只是想在 VBA 中的工作簿之间复制和粘贴,而不需要先激活我想要执行操作的每个工作簿。

我的代码在创建新工作簿之前将活动工作簿和工作表存储在变量中,之后应该将原始工作簿中的单元格 A1 复制到新创建的工作簿中。

Option Explicit

Sub test()

Dim pLWB As Workbook
Dim pLWS As Worksheet

Set pLWB = ActiveWorkbook
Set pLWS = ActiveSheet

Workbooks.Add

pLWB.pLWS.range("A1").copy

End Sub

你知道我哪里做错了吗?我以为你可以引用非常具体的单元格,workbooks.worksheets.range但即使在我打字时,智能感知菜单也没有显示pLWS为选项。

提前感谢您的时间。

答案1

您需要以不同的方式参考该表 - 这只是其中之一。

Option Explicit

Sub test()

Dim pLWB As Workbook
Dim pLWS As Worksheet

Set pLWB = ActiveWorkbook
Set pLWS = pLWB.ActiveSheet

Workbooks.Add

pLWS.Range("A1").Copy

End Sub

这也有效 -

Option Explicit

Sub test()

Dim pLWB As Workbook
Dim pLWS As String

Set pLWB = ActiveWorkbook
 pLWS = ActiveSheet.Name

'Workbooks.Add

pLWB.Sheets(pLWS).Range("A1").Copy

End Sub

相关内容