【发布时间】:2017-11-28 08:10:30
【问题描述】:
我想将数据从一个工作表复制到另一个工作表(取决于可用工作表的数量),列数是动态的。
如果我使用下面的代码,它会显示应用程序对象错误:
Worksheets(1).Range(Cells(m, 2), Cells(m, 7)).Value = ThisWorkbook.Worksheets(i).Range(Cells(3, 2), Cells(3, 7)).Value
如果我使用这个:
Worksheets(1).Range(Cells(m, 2), Cells(m, 7)).Value = ThisWorkbook.Worksheets(i).Range("B2:G2").Value
它工作正常,但我无法使我的列动态化。
【问题讨论】:
-
这类问题在 SO.. 中已经被问过很多次了。我可以指出至少 10 个不同的问题
-
@SiddharthRout ALL VBA 问题至少被问了 10 次。答案总是归结为“限定你的对象”、“停止使用 Select and Activate”、“声明你的变量”。
-
-
@YowE3K:顺便说一句,您不必删除答案。请取消删除。我已投票取消删除您的答案:)
-
@SiddharthRout 删除我的答案不是更好吗,以便将来的搜索者关注原始问题的链接。 (这个问题的发帖人已经采纳了我的答案,所以他们很高兴,我们现在需要关注的只是未来的搜索者。)我现在取消删除答案,但如果你重新考虑会再次删除它您的最后一条评论。