gpt4 book ai didi

excel - 如果列中的值为否(50+列/表)使用循环隐藏多个工作表

转载 作者:行者123 更新时间:2023-12-04 21:20:46 24 4
gpt4 key购买 nike

我有一个包含 50 多行特定项目的主表(表 1)。我有一个对应于每个项目的工作表并以此命名(即项目 1 =“Clearing”,因此工作表 2 被命名为“Clearing”)。对于 D 列中的每个项目,我都有一个下拉菜单,显示"is"或“否”。

我目前有一个基本代码,它根据我的“D 列”下拉菜单是否为 50 多行 =“否”(即项目 1 标记为“否”,因此表 2 被隐藏)来隐藏表格。

Private Sub Worksheet_Change(ByVal Target As Range)

If [D2] = "Yes" Then
Sheets("Clearing").Visible = True
Else
Sheets("Clearing").Visible = False
End If

If [D3] = "Yes" Then
Sheets("Grubbing").Visible = True
Else
Sheets("Grubbing").Visible = False
End If
End Sub

我希望能够通过使用一系列单元格 D2:D50+ 在所有 50 多个项目的循环中运行它,而不必像我上面所做的那样输入每个工作表名称。通过查看其他示例,我无法弄清楚如何管理此问题。

任何帮助深表感谢。

最佳答案

使用 Worksheet_Change您开始的事件:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Set rng = Range(Range("D2"), Range("D2").End(xlDown))

If Not Intersect(Target, rng) Is Nothing Then
If Target.Count = 1 Then
On Error GoTo ErrorHandler
If Target = "Yes" Then
Sheets(Target.Offset(, -1).Value).Visible = True
Else
Sheets(Target.Offset(, -1).Value).Visible = False
End If
End If
End If

Exit Sub

ErrorHandler:
MsgBox "The sheet '" & Target.Offset(, -1) & "' does not exist!"
End Sub

关于excel - 如果列中的值为否(50+列/表)使用循环隐藏多个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50841748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com