我想打开一个工作簿,然后从打开的工作簿表复制到我的工作簿表:
Private Sub Workbook_Open()
Dim openedFile As String
Dim sourcebook As Workbook
openedFile = Application.GetOpenFilename(fileFilter:="Excel Macro-Enabled Workbook (*.xlsm), *.xlsm") 'Source book opening
Set sourcebook = Workbooks.Open(openedFile)
Application.CutCopyMode = True
sourcebook.Worksheets("source_sheet").Range("A1:L100").Copy
ThisWorkbook.Worksheets("dest_sgheet").Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Call sourcebook.Close(False)
End Sub
运行此代码后出现此错误消息:
运行时错误'1004“:Range类的PasteSpecial方法失败
这一行出现了:
ThisWorkbook.Worksheets("dest_sheet").Range("A1").PasteSpecial Paste:=xlPasteValues
答案 0 :(得分:0)
首先尝试激活工作簿("此工作簿"),然后激活您要粘贴数据的工作表。由于范围不可见也不存在,因此容易发生错误。
答案 1 :(得分:0)