设置rng时出现Excel错误1004

时间:2018-06-05 19:16:50

标签: excel vba excel-vba

所以我只是想创建一个复制和粘贴功能。我希望它比我在这里看到的一些类似问题更具动态性。当我到达该行(下面的代码)“set rng = ws.Range(Cells(i,7),Cells(i,12))”我得到错误1004应用程序定义或对象定义错误。该按钮也位于名为“Forms”的工作表中。

我原本没有“设置rng = ws”。在Range(Cells(i,7),Cells(i,12))之前我没有得到错误,但是它会从“表单”而不是“目标”中复制数据。由于excel电子表格的格式化方式,函数中的数字是正确的,我相信(不确定这是否相关)。

最终,我试图让错误消失,并让它正常工作。任何帮助或建议欢迎。

Logs

2 个答案:

答案 0 :(得分:2)

尝试,

Set rng = ws.Range(ws.Cells(i, 7), ws.Cells(i, 12))

定义范围的单元格需要定义匹配范围的父工作表

有关详细信息,请参阅Is the . in .Range necessary when defined by .Cells?

答案 1 :(得分:2)

我认为你需要包括ws。在两个Cell引用前面,否则它们可能会从另一个工作表拉到ws.Range调用:

Set rng = ws.Range(ws.Cells(i, 7), ws.Cells(i, 12))