从一个工作簿复制到另一个工作簿时运行时错误438

时间:2014-02-06 17:00:45

标签: excel vba excel-vba vbscript runtime-error

我正在运行此代码将数据从一个工作簿复制到另一个主工作簿,但在第12行继续收到运行时错误438.是怎么回事?提前谢谢!

 1     Sub copydata()
 2     Dim wbk As Workbook
 3     Dim wbk2 As Workbook
 4     strFirstFile = Userform1.path.Text
 5     Set wbk2 = ThisWorkbook
 6     Set wbk = Workbooks.Open(strFirstFile)
 7     With wbk.Sheets(1)
 8      Cells(1, 1).Activate
 9         ActiveCell.CurrentRegion.Select
10         Selection.Copy
11     End With
12     wbk2.Sheets("UAL").Range("G1").Paste
13     Application.CutCopyMode = False
14     wbk.Close
15     
16     End Sub

1 个答案:

答案 0 :(得分:1)

Range不支持方法Paste。使用这种模式:

Selection.Copy Destination:=wbk2.Sheets("UAL").Range("G1")

或者您可以使用PasteSpecial

wbk2.Sheets("UAL").Range("G1").PasteSpecial xlPasteAll

BTW,避免使用Select语句。你可以使用这一行而不是第7-12行(在你的代码中不正确,因为你在.之前错过了句号Cells(1, 1)等等):

With wbk.Sheets(1)
     .Cells(1, 1).CurrentRegion.Copy Destination:=wbk2.Sheets("UAL").Range("G1")
End With