运行时错误91对象变量或未设置带块变量-使用公共变量

布鲁希尔斯

我目前正在从事一个项目,该项目整合了许多工作簿中的信息。尽管所使用的应用程序的第一个版本Select,并Activate广泛,从信息我已经看到在这个网站中,使用这些方法,应尽量避免使用。因此,我目前正在重新编写代码以尽可能消除这些问题。

我正在使用的工作簿有一个参考表,它是VeryHidden。为了参考此工作表,我在第一个模块的开头做了一些公开声明。其中之一是

Public refsheet as Worksheet

请注意,打开工作簿后,可能无法使用该模块。

问题1:如果我不使用此模块中定义的公共变量,这会引起问题吗?如果确实引起问题,那么应该在哪里定义这些公共变量?

在这种情况Workbook_Open()下,我有以下几点:

Private Sub Workbook_Open()

Set refsheet = Sheets("References")
Set corang = Sheets("Consolidation").Range("L2:AI2")

Application.ScreenUpdating = False
refsheet.Visible = xlSheetVeryHidden
Application.ScreenUpdating = True


End Sub

问题2:如果我在Workbook_Open()子目录中设置了refsheet,假设已将其定义为公共变量,它是否可用于所有其他模块?

当我在使用后第一次运行代码时,第一次使用refsheet很好,然后在以后再使用refsheet时,我会收到运行时错误91;未设置对象变量或带块变量。

让·弗朗索瓦·科贝特(Jean-Francois Corbett)

我的建议是:完全删除该公共变量-Workbook_Open shenanigan。为什么根本需要此refsheet变量?你可能不知道。公共变量并不总是一个坏主意。他们通常是一个坏主意。

只需通过Name引用表格即可CodeName例子:

Worksheets("References").Range("A1").Value = "Hello world!" ' Name is "References"
shtReferences.Range("A2").Value = "Hello world!" ' CodeName is shtReferences

第二个示例假定您shtReferences在“属性”窗口的顶行中将工作表的CodeName更改(Name)为,如下面的示例所示。这是我最喜欢的引用工作表的方式,因为它可以防止用户Name在工作表选项卡中更改工作表的情况。

当心:(Name)代表CodeName,这与Name没有括号的情况有所不同我知道,这有点令人困惑。

在此处输入图片说明

请注意,CodeName床单是,默认情况下Sheet1Sheet2...添加到混乱的事实,Name张也Sheet1Sheet2等在默认情况下。但是NameCodeName/(Name)不链接,可以独立更改。

MsgBox shtReferences.Name ' returns "References"
MsgBox shtReferences.CodeName ' returns "shtReferences"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

运行时错误91对象变量或带块变量的数据库未设置

来自分类Dev

运行时错误'91'; 未设置对象变量或带块变量

来自分类Dev

运行时错误91:未设置对象变量或With块

来自分类Dev

获取运行时错误“ 91”:对象变量或未设置块变量

来自分类Dev

VBA:运行时错误 91:未设置对象变量或块变量

来自分类Dev

运行时错误 91 - 对象变量或未设置块变量 - VBA

来自分类Dev

Excel VBA运行时错误91对象变量未设置

来自分类Dev

检查 excel vba 中是否存在 getelementsbyclassname。运行时错误 91 对象变量或块变量未设置

来自分类Dev

循环内的运行时错误 91(对象变量或未设置块变量),但代码在循环外工作

来自分类Dev

运行时错误91:未在Excel 2013中设置对象变量或带有块变量

来自分类Dev

VBA中的构造方法-运行时错误91“未设置对象变量”

来自分类Dev

91对象变量或未设置块变量

来自分类Dev

将对象分配给集合:错误“ 91”:对象变量或未设置带块变量

来自分类Dev

未设置对象变量或带块变量(错误91),请协助

来自分类Dev

未设置对象变量或With块变量(错误91)

来自分类Dev

在Excel中未设置对象变量或With块变量(错误91)

来自分类Dev

在Excel中未设置对象变量或With块变量(错误91)

来自分类Dev

未设置对象变量或带块变量

来自分类Dev

我收到运行时错误“91”:对象变量或块变量未在工作表上设置。可能没有选择工作表?

来自分类Dev

VBA错误91:未设置对象变量

来自分类Dev

VBA错误91:未设置对象变量

来自分类Dev

VBA错误91:未设置对象变量或含块变量(Excel 2013)

来自分类Dev

VBA错误91:未设置对象变量或With块变量(Excel 2013)

来自分类Dev

错误91对象变量或未在范围上设置块变量

来自分类Dev

VBA中的“未设置对象变量或带块变量”

来自分类Dev

它说未设置对象变量或带块变量

来自分类Dev

我收到错误消息“未设置对象变量或带块变量”

来自分类Dev

Word宏对象变量或带有块变量的变量未在交替运行时设置

来自分类Dev

获取运行时错误“91”对象变量 + 整体代码运行状况

Related 相关文章

  1. 1

    运行时错误91对象变量或带块变量的数据库未设置

  2. 2

    运行时错误'91'; 未设置对象变量或带块变量

  3. 3

    运行时错误91:未设置对象变量或With块

  4. 4

    获取运行时错误“ 91”:对象变量或未设置块变量

  5. 5

    VBA:运行时错误 91:未设置对象变量或块变量

  6. 6

    运行时错误 91 - 对象变量或未设置块变量 - VBA

  7. 7

    Excel VBA运行时错误91对象变量未设置

  8. 8

    检查 excel vba 中是否存在 getelementsbyclassname。运行时错误 91 对象变量或块变量未设置

  9. 9

    循环内的运行时错误 91(对象变量或未设置块变量),但代码在循环外工作

  10. 10

    运行时错误91:未在Excel 2013中设置对象变量或带有块变量

  11. 11

    VBA中的构造方法-运行时错误91“未设置对象变量”

  12. 12

    91对象变量或未设置块变量

  13. 13

    将对象分配给集合:错误“ 91”:对象变量或未设置带块变量

  14. 14

    未设置对象变量或带块变量(错误91),请协助

  15. 15

    未设置对象变量或With块变量(错误91)

  16. 16

    在Excel中未设置对象变量或With块变量(错误91)

  17. 17

    在Excel中未设置对象变量或With块变量(错误91)

  18. 18

    未设置对象变量或带块变量

  19. 19

    我收到运行时错误“91”:对象变量或块变量未在工作表上设置。可能没有选择工作表?

  20. 20

    VBA错误91:未设置对象变量

  21. 21

    VBA错误91:未设置对象变量

  22. 22

    VBA错误91:未设置对象变量或含块变量(Excel 2013)

  23. 23

    VBA错误91:未设置对象变量或With块变量(Excel 2013)

  24. 24

    错误91对象变量或未在范围上设置块变量

  25. 25

    VBA中的“未设置对象变量或带块变量”

  26. 26

    它说未设置对象变量或带块变量

  27. 27

    我收到错误消息“未设置对象变量或带块变量”

  28. 28

    Word宏对象变量或带有块变量的变量未在交替运行时设置

  29. 29

    获取运行时错误“91”对象变量 + 整体代码运行状况

热门标签

归档