我可以使用 belwo 代码将 CopyFrom.xlsx 中的范围复制到 CopyTo.xlsx 中:
Workbooks("CopyTo.xlsx").Worksheets("Sheet1").Range("B3:B14").Clear
Workbooks("CopyFrom.xlsx").Worksheets("Sheet1").Range("A1:A10").Copy
Workbooks("CopyTo.xlsx").Worksheets("Sheet1").Range("B3:B14").PasteSpecial Paste:=xlPasteValues
但是,当我将 Clear 语句放在第二位时,它会给出 1004 错误
Workbooks("CopyFrom.xlsx").Worksheets("Sheet1").Range("A1:A10").Copy
Workbooks("CopyTo.xlsx").Worksheets("Sheet1").Range("B3:B14").Clear
Workbooks("CopyTo.xlsx").Worksheets("Sheet1").Range("B3:B14").PasteSpecial Paste:=xlPasteValues
为什么会发生这种情况?
最佳答案
因为.Clear
退出剪切/复制模式并设置Application.CutCopyMode = False
。如果您尝试.Paste
,则在.Clear
之后没有选择任何要复制的内容,这会导致您收到错误。
只需避免 .Copy
和 .Paste
之间出现任何代码即可避免任何迭代。
关于excel - 1004 将范围从一张工作表复制到另一张工作表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55354662/