如何使用 VBA 使用多个下拉列表隐藏 excel 中的多个工作表

How to Hide multiple worksheet in excel using Multiple Drop down list using VBA

我正在创建一个工作表,它将根据所选内容打印不同的 BOM。我在不同工作表下的工作簿中列出了每个 BOM。主工作表将有不同的下拉列表,可以根据需要选择不同的下拉列表来创建必要的 BOM。

我想做的是隐藏不适用于下拉列表中所选项目的工作表。

这就是我现在拥有的

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = Me.Range("Media_System").Address Then
    If Target.Value = "Shop Vac" Then
        Sheets("Shop Vac Media Port Assembly").Visible = True
        Sheets("Shop Vac Assembly").Visible = True
        Sheets("Shop Vac Piping").Visible = True
    Else
        Sheets("Shop Vac Media Port Assembly").Visible = False
        Sheets("Shop Vac Assembly").Visible = False
        Sheets("Shop Vac Piping").Visible = False
    End If
End If
End Sub

这只适用于一个下拉列表,我目前有 (7) 个下拉列表,每个列表都有不同的选项。我如何为每个人完成这项工作。

您只需根据 Target 单元格地址添加更多逻辑。以下代码段将处理您的范围 "Media_System" 和另一个范围。要添加与更多下拉菜单相对应的更多范围,只需复制并修改 If Target.Address... 块并根据需要重复。

If Target.Address = Me.Range("Media_System").Address Then
    If Target.Value = "Shop Vac" Then
        Sheets("Shop Vac Media Port Assembly").Visible = True
        Sheets("Shop Vac Assembly").Visible = True
        Sheets("Shop Vac Piping").Visible = True
    Else
        Sheets("Shop Vac Media Port Assembly").Visible = False
        Sheets("Shop Vac Assembly").Visible = False
        Sheets("Shop Vac Piping").Visible = False
    End If
End If
'MODIFY & REPEAT AS NEEDED
If Target.Address = Me.Range("SOME_OTHER_RANGE").Address Then
    If Target.Value = "Some other thing" Then
        Sheets("foo").Visible = True
        Sheets("bar").Visible = True
        Sheets("boo").Visible = True
    Else
        Sheets("foo").Visible = False
        Sheets("bar").Visible = False
        Sheets("boo").Visible = False
    End If
End If