【发布时间】:2015-04-14 01:52:08
【问题描述】:
我是 VBA 的初学者,我很难理解我下面的陈述有什么问题。为了给出我想要做的事情的背景,我有一个源表 (oldViewsWbk),我想将其单元格复制到我的最终工作簿 (finalViewsWbk) 中,然后对这些复制的单元格执行一些逻辑。
ActiveSheet.Range(Cells(2, 2), Cells(246, 2)).Value = oldViewsWbk.Sheets(1).Range(Cells(2, 2), Cells(246, 2)).Value
我的 ActiveSheet 是我的最终工作簿。现在我已经对行号和列号进行了硬编码,但是一旦我可以正常工作,它们就会被变量替换。
我知道我可以使用 Copy 和 PasteSpecial 来完成这项工作,但我想知道为什么这个特定的语句不断抛出错误 '1004': Object defined or Application defined error。也许我根本不能这样做,但我想知道它背后的原因是什么。
非常感谢!
【问题讨论】:
-
看看stackoverflow.com/questions/28861117/…
.Range(Cells不会将工作表引用从范围传递到单元格。 -
是的。你说的对。我没有引用 oldViewsWbk 中的 Cells 并明确引用它们使其工作。感谢您的帮助和及时回复。
-
尽可能避免使用
Active*的宝贵经验!