我的VBA中发生了一些变化,不允许我完成某些例行程序。我在下面列出了一个非常简单的例子。如果有人经历过这一点,我将非常感谢您解决此问题的任何支持。
当我使用以下代码时,它可以正常工作。
Sheets("Sheet1").Select
Range("B3").Select
当我将它们组合时,我收到“1004”错误
Sheets("Sheet1").Range("B3").Select
我检查了参考/文档库,这里似乎没有任何变化。它必须是简单的东西,但我不能把手指放在它上面。
答案 0 :(得分:3)
你已经有了答案:
Select
工作表Select
范围如果您的代码在运行时Sheet1
正好在<{1}},那么您的代码将会工作,但如果Sheet1
上的不,则会失败。 在我看来,VBA对这个问题有点愚蠢。
答案 1 :(得分:3)
如果您绝对必须在一行代码中执行此操作,请将Select替换为接受工作表和单元格范围的Application.GoTo
。
application.goto range("Sheet1!B3")
但是,使用Range .Select方法引用一个或多个要处理的单元格几乎不需要(并且通常会适得其反)。有关远离依赖选择和激活以实现目标的方法,请参阅How to avoid using Select in Excel VBA macros。