首页 > 解决方案 > 将一系列单元格从已关闭的工作簿复制到另一个工作簿 - 运行时错误“1004”:Range 类的 PasteSpecial 方法失败

问题描述

我想将一系列单元格从已关闭的工作簿复制到另一个工作簿。

Workbooks.Open Filename:="C:\Users\yixuanjiang\Desktop\Performance Report\Risk Test-simplified.xls"
Workbooks("Risk Test-simplified").Worksheets("Summary").Activate
Workbooks("Risk Test-simplified").Worksheets("Summary").Range("B9:F16").Copy
Workbooks("Summary-v1.0").Activate
Worksheets("Automation").Range("B155").PasteSpecial

Workbooks("Risk Test-simplified").Worksheets("Summary").Activate
Workbooks("Risk Test-simplified").Worksheets("Summary").Range("Q9:U22").Copy
Workbooks("Summary-v1.0").Activate
Worksheets("Automation").Range("H152").PasteSpecial

我在最后一行遇到错误:

Worksheets("Automation").Range("H152").PasteSpecial

标签: excelvba

解决方案


假设你在使用的单元格范围之后,你可以做这样的事情。

我认为它失败的原因是因为你没有限定你的范围。

Sub CopyData()

Dim MasterWS As Worksheet
Dim ws As Worksheet
Dim CopyRange As Variant
Dim lrowOtherSheets As Long
Dim LRow As Long

Set MasterWS = Sheets(1)
Set ws = ActiveSheet

Set CopyRange = ws.UsedRange
CopyRange.Copy

LRow = .Range("A" & .Rows.Count).End(xlUp).Row
MasterWS.Range("A" & LRow).PasteSpecial Paste:=xlPasteAll, Transpose:=False
Application.CutCopyMode = False

End Sub

推荐阅读