多个工作表中的VBA Excel复制/粘贴特定范围

时间:2017-02-28 16:12:20

标签: excel excel-vba runtime-error copy-paste vba

我一直在寻找解决方案,但无论我尝试什么,我都会收到错误。

我有大约20个工作表,我想为每个工作表复制相同的范围,并将它们合并到另一个工作表以创建报告。

我能够在下面修改此解决方案,但它仍然无法正常工作,我不知道为什么。

感谢任何帮助。

Sub forReport()

   Dim lRow As Long
   Dim copyRange As Range
    Dim sh As Worksheet
    Dim shReport As Worksheet
    Set shReport = ThisWorkbook.Worksheets("ALLProjectForReport")

    For Each sh In ThisWorkbook.Worksheets
        Select Case sh.Name
            Case Is <> "ALLProjectForReport"
                lRow = shReport.Cells(Rows.count, "A").End(xlUp).Row + 1
               Set copyRange = sh.Range("A:B,D:D,F:F,J:K,L:L,BK:BK,GA:GB,GF:GF")

               copyRange.Copy Destination:=shReport.Range("A" & lRow)                    

        End Select
    Next
    Set shReport = Nothing
    Set sh = Nothing
End Sub

但每次我得到错误运行时'1004'突出显示此行

 copyRange.Copy Destination:=shReport.Range("A" & lRow)

有任何帮助吗?

1 个答案:

答案 0 :(得分:0)

试试这个快速修复:

Set copyRange = Intersect(sh.UsedRange, sh.Range("A:B,D:D,F:F,J:K,L:L,BK:BK,GA:GB,GF:GF"))