Excel VBA,取消隐藏数组中的工作表,运行-时间错误“13”:类型不匹配
Excel VBA, UnHiding Sheets in array, Run-time error '13': Type mismatch
我正在尝试使用数组取消隐藏特定的 sheet,但出现 运行 时错误“13”。
正是这一行特定的代码给我错误:
Worksheets(WS).Visible = True
我设法使用数组隐藏了特定的 sheet(我参考了 sheet 的代号以避免将来出现引用问题),请参见下面的代码:
Sub Hide_sheets_By_CodeName()
Dim Ws_Array As Variant
Set Ws_Array = Sheets(Array(Tiger.Name, Dog.Name, Cat.Name))
Ws_Array.Visible = False
End Sub
要取消隐藏它们,我读到您必须遍历数组中的每个 sheet。我为此使用了这段代码(这里我得到了错误):
Sub UnHide_sheets_By_CodeName()
Dim WS As Worksheet
Dim Ws_Array As Variant
Set Ws_Array = Sheets(Array(Tiger.Name, Dog.Name, Cat.Name))
For Each WS In Ws_Array
Worksheets(WS).Visible = True
Next
End Sub
非常感谢任何帮助:)
WS_Array是Type Sheets的对象,即成员是sheet。因此 Worksheets(WS).Visible = True
遇到错误 13,因为 Worksheets(name of sheet)
需要一个字符串而不是一个对象。
要么将 for 循环更改为
For Each WS In Ws_Array
Worksheets(WS.Name).Visible = xlSheetVisible
Next
或到
For Each WS In Ws_Array
WS.Visible = xlSheetVisible
Next
我正在尝试使用数组取消隐藏特定的 sheet,但出现 运行 时错误“13”。 正是这一行特定的代码给我错误:
Worksheets(WS).Visible = True
我设法使用数组隐藏了特定的 sheet(我参考了 sheet 的代号以避免将来出现引用问题),请参见下面的代码:
Sub Hide_sheets_By_CodeName()
Dim Ws_Array As Variant
Set Ws_Array = Sheets(Array(Tiger.Name, Dog.Name, Cat.Name))
Ws_Array.Visible = False
End Sub
要取消隐藏它们,我读到您必须遍历数组中的每个 sheet。我为此使用了这段代码(这里我得到了错误):
Sub UnHide_sheets_By_CodeName()
Dim WS As Worksheet
Dim Ws_Array As Variant
Set Ws_Array = Sheets(Array(Tiger.Name, Dog.Name, Cat.Name))
For Each WS In Ws_Array
Worksheets(WS).Visible = True
Next
End Sub
非常感谢任何帮助:)
WS_Array是Type Sheets的对象,即成员是sheet。因此 Worksheets(WS).Visible = True
遇到错误 13,因为 Worksheets(name of sheet)
需要一个字符串而不是一个对象。
要么将 for 循环更改为
For Each WS In Ws_Array
Worksheets(WS.Name).Visible = xlSheetVisible
Next
或到
For Each WS In Ws_Array
WS.Visible = xlSheetVisible
Next