VBA代号参考
VBA Codename Reference
我希望通过代号引用我的工作表作为更长 vba 代码的一部分 - 我当前的代码是:
工作正常:
If wb.Sheets("stage 1").Visible = xlVeryHidden Or wb.Sheets("stage 1").Visible = xlHidden Then wb.Sheets("Stage 1").Visible = True
我想更改为以下 - "Stage 1" = 我的 excel 文件中的 Sheet8
If wb.Sheet8.Visible = xlVeryHidden Or wb.Sheet8.Visible = xlHidden Then wb.Sheet8.Visible = True
但是,在更改代码后会出现运行时错误 438。
有人可以告诉我如何解决这个问题或我的代码哪里不正确吗?
提前致谢
您需要做的是使用:
Dim Sht8 As Worksheet
Set Sht8 = wb.Sheets("stage 1")
您应该尽量不要使用 Sheet8
,因为 Excel WorkBook VBA 项目中的 sheet 对象正在使用 Sheet1
、Sheet2
和 Sheet3
初始 sheet 名称。
VBA中的sheet的名字是codeName
如果 sheet 它是 ThisWorkbook
的一部分(即您编写代码所在的工作簿),您可以在代码中访问它,就像它是一个变量一样(删除 wb.
)
Sheet8.Visible = xlVeryHidden Or Sheet8.Visible = xlHidden Then Sheet8.Visible = True
但是,如果您想从不同的工作簿访问 sheet,则必须遍历所有 sheet 才能找到它。参见
我希望通过代号引用我的工作表作为更长 vba 代码的一部分 - 我当前的代码是:
工作正常:
If wb.Sheets("stage 1").Visible = xlVeryHidden Or wb.Sheets("stage 1").Visible = xlHidden Then wb.Sheets("Stage 1").Visible = True
我想更改为以下 - "Stage 1" = 我的 excel 文件中的 Sheet8
If wb.Sheet8.Visible = xlVeryHidden Or wb.Sheet8.Visible = xlHidden Then wb.Sheet8.Visible = True
但是,在更改代码后会出现运行时错误 438。
有人可以告诉我如何解决这个问题或我的代码哪里不正确吗?
提前致谢
您需要做的是使用:
Dim Sht8 As Worksheet
Set Sht8 = wb.Sheets("stage 1")
您应该尽量不要使用 Sheet8
,因为 Excel WorkBook VBA 项目中的 sheet 对象正在使用 Sheet1
、Sheet2
和 Sheet3
初始 sheet 名称。
VBA中的sheet的名字是codeName
如果 sheet 它是 ThisWorkbook
的一部分(即您编写代码所在的工作簿),您可以在代码中访问它,就像它是一个变量一样(删除 wb.
)
Sheet8.Visible = xlVeryHidden Or Sheet8.Visible = xlHidden Then Sheet8.Visible = True
但是,如果您想从不同的工作簿访问 sheet,则必须遍历所有 sheet 才能找到它。参见