所以我只是想创建一个复制和粘贴功能。我希望它比我在这里看到的一些类似问题更具动态性。当我到达该行(下面的代码)“set rng = ws.Range(Cells(i,7),Cells(i,12))”我得到错误1004应用程序定义或对象定义错误。该按钮也位于名为“Forms”的工作表中。
我原本没有“设置rng = ws”。在Range(Cells(i,7),Cells(i,12))之前我没有得到错误,但是它会从“表单”而不是“目标”中复制数据。由于excel电子表格的格式化方式,函数中的数字是正确的,我相信(不确定这是否相关)。
最终,我试图让错误消失,并让它正常工作。任何帮助或建议欢迎。
Logs
答案 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))