将多张纸的相同范围的单元格从一本书复制/粘贴到另一本书

时间:2017-12-19 09:03:04

标签: vba excel-vba copy-paste excel

我对VBA很新,我正在努力解决以下问题。我通常会得到一张10-20张的excel文件。然后,我将每张纸的相同范围的单元格(i76:i133)从一本书复制到具有相同纸张结构的另一本书。

我试图制作一个循环来轻松编码,但我失败了。

Sub copy()

Dim Sourcebook As Workbook
Dim Destinationbook As Workbook, mysheet As Worksheet

Set Sourcebook = Workbooks("Quarterly.xlsx")
Set Destinationbook = Workbooks("Master.xlsx")

For Each mysheet In Sourcebook.Worksheets
    Sourcebook.Sheets(mysheet).Range("I76:I133").Copy
    Destinationbook.Sheets(mysheet).Range("I76").Paste
Next

End Sub

我得到了

  

运行时错误13,类型不匹配

Sourcebook.Sheets(mysheet).Range("I76:I133").Copy

中的

非常欢迎任何帮助!

1 个答案:

答案 0 :(得分:3)

当您尝试将mySheet变量用作Worksheet type时,String变量为For Each mysheet In Sourcebook.Worksheets 'Sourcebook.Sheets(mysheet).Range("I76:I133").Copy 'instead of this... mysheet.Range("I76:I133").Copy '...use this Destinationbook.Sheets(mysheet.Name).Range("I76").Paste Next 。这是你的循环改进:

form_tag