如何使用 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
我正在创建一个工作表,它将根据所选内容打印不同的 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