VBA新手在这里 .
我记录了包含的代码,以从源工作簿中复制工作表并将其粘贴到另一个打开的工作簿的工作表中 .
它有效,但我试图做的是;触发宏复制工作表打开目标工作簿粘贴数据关闭原始工作簿结束目标工作簿但不同的工作表 .
Sub Button5_Click()
'export data to template
Sheets("DataSet").Select 'sheet that I want to copy and paste (resides in macro workbook)
Cells.Select
Selection.Copy
Windows("Missing Data Template (concept1).xlsx").Activate 'destination workbook (no macros)
Sheets("Report").Select 'destination worksheet
Cells.Select
ActiveSheet.Paste
End Sub
谢谢你的一些教育!
1 回答
我相信你必须打开其他工作簿,粘贴,然后关闭:
你'll notice, too, that I'已经废除了所有
.Select
和.Active
类型的代码 . 因为选择是人类所做的事情,所以在VBA中真的没有必要使用.Select
. 代码只需知道要获取什么以及放在何处 . 触摸.select
或.activate
实际上有时仅在末尾用于将光标/选择设置在运行代码的人的特定点(例如,如果你想确保一旦运行,表格("Dataset").Range ("A1")细胞被选中 .