我试图将一组数据从工作簿复制到另一个工作簿,让我们说我要将数据从A书复制到B册。首先,我去预订复制列表,然后转到Book B以在copydata宏下运行(我想将数据粘贴到新工作表上,然后再回到第B册中的上一页。)
Sub copydata()
Dim lstviewpg As String
lstviewpg = ActiveSheet.Name
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "newsheet"
Sheets("newsheet").Activate
ActiveSheet.Paste
Sheets(lstviewpg).Activate
End Sub
由于Worksheet类的Paste方法失败,第6行的宏失败。任何人都知道如何解决它?
ActiveSheet.Paste
答案 0 :(得分:1)
如果剪贴板上没有任何内容,即剪贴板为空,也会生成Worksheet类的粘贴方法失败错误。 因此,要确认剪贴板不为空,请右键单击工作表上的任何单元格,如果粘贴为灰色,则表示剪贴板为空。
答案 1 :(得分:0)
您必须使用PasteSpecial()
此外,您可以简化一点:
Sub copydata()
Dim lstviewpg As String
lstviewpg = ActiveSheet.Name
With Sheets.Add(After:=Sheets(Sheets.Count)) '<--| add a new sheet and reference it
.Name = "newsheet" '<--| set the name of referenced sheet
.PasteSpecial '<--| paste data
End With
Sheets(lstviewpg).Activate
End Sub