我只是想在 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