【问题标题】:VBA Basic Error [closed]VBA基本错误[关闭]
【发布时间】:2016-06-21 05:01:04
【问题描述】:

我正在 Excel 上编写一个非常复杂的 VBA 宏,但由于某种原因,它一直给我一个错误。我不知道为什么,考虑到代码的特定部分是多么简单,我看不出它有什么问题。

代码如下:

Sub hello()
     Sheets("Sheet2").Select
     Range("A3").Select
End Sub

是的,就是字面意思。我不知道为什么这会给我一个错误,但我不断收到

“运行时错误'1004':应用程序定义或对象定义错误”。

有人有什么想法吗?

【问题讨论】:

  • 哪一行会引发错误?工作簿是否受到保护?
  • 你为什么必须Select那个单元格和工作表?
  • 你真的有一个名为Sheet2工作表(不是图表或宏表)吗?
  • 如果将其替换为msgbox Sheets("Sheet2").Range("A3").Value,是否仍会抛出错误?确保在该工作簿中有一个名为 Sheet2 的工作表。另外,您的宏存储在哪里?
  • 如果您的办公室有外语设置,“Sheet2”将相应替换。

标签: vba excel


【解决方案1】:

您的代码在全新的工作簿 (Excel 2010) 中为我工作。

这里有很多建议: VBA Runtime Error 1004 "Application-defined or Object-defined error" when Selecting Range

【讨论】:

  • 这最适合作为评论,而不是答案
  • 我还没有足够的积分来发表评论,但我想我可以帮忙:-)
  • 现在你知道了,我想 :)
  • 不...它说50分...最终:-)
【解决方案2】:

您需要在工作表上使用Activate,而不是Select

Sheets("Sheet2").Activate

【讨论】:

  • ActivateSelect 在这种情况下的工作方式相同。
  • 无论如何你都想避免它们,除非你真的需要显示特定的工作表。
猜你喜欢
  • 1970-01-01
  • 2016-10-07
  • 2012-02-02
  • 2016-06-18
  • 1970-01-01
  • 2018-03-29
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多