我是新来的工作表(Visual Basic for Applications)&我正在编写一个代码,旨在隐藏基于预定义列表的特定工作表。本质上,我想隐藏任何工作表的名称不存在于此列表中。(列表中的名称等于工作表中的名称)
我已经写了一些代码,但我不确定如何实现我想要的结果。我想做的是将“Visible”的使用替换为对名为“Visible”的工作表中单元格列表的引用。
我需要将“Visible”替换为一个名为Visible的单元格列表。当代码执行时,它应该隐藏任何名称不在此列表中的工作表。
Sub ocultarPlanilhas()
Dim ws As Worksheet
Sheets().Select
For Each ws In Worksheets
If ws.Name <> "Visible" Then
ws.Visible = xlSheetHidden
End If
Next ws
End Sub
字符串
有人能帮帮我吗
2条答案
按热度按时间oo7oh9g91#
sList
将是格式为/Sheet 12/Sheet 2/Sheet 3/的字符串。InStr
用于比较ws.name
和sList
,MARKER
用于防止不匹配。例如
ws.Name = "Sheet1"
InStr(1, sList, ws.Name, vbTextCompare)
返回1 -它匹配Sheet12
的一部分InStr(1, sList, MARKER & ws.Name & MARKER, vbTextCompare)
返回0 -/Sheet1/
不在sList
中字符串
ee7vknir2#
隐藏/显示不在列表中的工作表
x1c 0d1x的数据
字符串