我想从Workbook1复制Sheet2并将其粘贴到新工作簿的Sheet1中,并将新工作簿保存为Sheet2,工作簿1中单元格A1的值 . 我希望在单击我添加的按钮时触发此宏 .
这是我到目前为止所做的,但它创建了两个工作簿 - 一个具有正确的名称,但没有Sheet2,Workbook1的内容 - 另一个具有Sheet2,Workbook1但没有正确的工作簿名称的内容
Sub CreateWorkbook()
Dim n As String
n = ThisWorkbook.Path & "\" & Range("A1").Value & ".xls"
Workbooks.Add
ActiveWorkbook.SaveAs n
ThisWorkbook.Sheets("Sheet2").Copy
ActiveWorkbook.Sheets("Sheet1").PasteSpecial xlPasteValues
End Sub
我在这里错过了什么?
1 回答
我不认为
Workbooks.Add
创建的新工作簿默认为ActiveWorkbook
.使用
ThisWorkbook
和ActiveWorkbook
会让人感到困惑 .我喜欢将工作簿和工作表之类的东西设置为变量,这样你就知道你在处理什么:)
我无法让
Copy
然后PasteSpecial
位工作(虽然我没有尝试那么难) .下面的例子可以做你想要的 . 我使用
Sheet2!A1
作为文件名,不知道你的代码示例中的AK545
是什么 .