表/范围select(组合)不起作用

我的VBA中有些东西已经改变,不允许我完成某些例程。 下面列出了一个非常简单的例子。 如果有人经历过这个,我将非常感谢任何支持解决这个问题。

  • 问题的简单例子:

当我使用下面的代码,它工作正常。

Sheets("Sheet1").Select Range("B3").Select 

当我结合他们,我得到一个“1004”的错误

 Sheets("Sheet1").Range("B3").Select 

我检查了引用/文档库,在这里什么也没有改变。 它必须是简单的,但我不能把它的手指。

如果您绝对必须在单行代码中执行此操作,请将“select”replace为接受工作表和单元格范围的Application.GoTo

 application.goto range("Sheet1!B3") 

但是,使用Range .Select方法来引用一个或多个要处理的单元几乎是不必要的(也常常是相反的)。 请参阅如何避免使用在Excel VBAmacros中select远离依赖select和activate来实现您的目标的方法。

你已经有了你的答案:

  • 首先Select工作表
  • 在该工作表上Select一个范围

如果在运行时恰好在Sheet1 ,则代码起作用,但如果不在 Sheet1上,则代码将失败。 在我看来,VBA在这个问题上有些愚蠢。