excel - 1004 将范围从一张工作表复制到另一张工作表时出错

标签 excel vba

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

相关文章:

excel - 如何在我的公式中的数据输入 Excel 之前将我的结果字段保持空白?

excel - XML解析VBA excel(函数行,&MSXML2.DOMDocument)

ruby - 在 Excel VBA 代码中自动确认 Msgbox

sql-server - 将范围从 Excel 复制到 SQL 而不使用 For 循环?

ms-access - Int() 函数 MS Access VBA

excel - 在 Excel 中查询另一个表

c# - 使用 ClosedXML 附加到 excel 文件

java - 如果java中特定列为空,则不从excel插入到mysql

vb.net - 如何使用 Doxygen 记录 Visual Basic

excel - 使用 vba 删除重复项