VBA Excel Copy/Paste 来自多个工作表的特定范围
VBA Excel Copy/Paste Specific Range from multiple worksheet
我一直在网上寻找解决方案,但无论我尝试什么,我总是收到错误消息。
我有大约 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
但是每次我得到一个错误 运行-time '1004' 突出显示这一行
copyRange.Copy Destination:=shReport.Range("A" & lRow)
有什么帮助吗?
试试这个快速修复:
Set copyRange = Intersect(sh.UsedRange, sh.Range("A:B,D:D,F:F,J:K,L:L,BK:BK,GA:GB,GF:GF"))
我一直在网上寻找解决方案,但无论我尝试什么,我总是收到错误消息。
我有大约 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
但是每次我得到一个错误 运行-time '1004' 突出显示这一行
copyRange.Copy Destination:=shReport.Range("A" & lRow)
有什么帮助吗?
试试这个快速修复:
Set copyRange = Intersect(sh.UsedRange, sh.Range("A:B,D:D,F:F,J:K,L:L,BK:BK,GA:GB,GF:GF"))