我可以使用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/