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

时间:2016-09-30 13:40:28

标签: excel excel-vba vba

我的VBA中发生了一些变化,不允许我完成某些例行程序。我在下面列出了一个非常简单的例子。如果有人经历过这一点,我将非常感谢您解决此问题的任何支持。

  • 问题的简单示例:

当我使用以下代码时,它可以正常工作。

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

当我将它们组合时,我收到“1004”错误

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

我检查了参考/文档库,这里似乎没有任何变化。它必须是简单的东西,但我不能把手指放在它上面。

2 个答案:

答案 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