我正在创建一个工作表,根据所选内容打印不同的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)下拉列表,每个列表中有不同的选项。我如何为每个人做这项工作。
答案 0 :(得分:0)
您只需要根据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