好的,我有一个分配给按钮的宏来隐藏选项卡,具体取决于下拉列表的值。
Sub Hide_Tabs()
' Hide unused Tabs
If Sheet4.Range("G2") = Sheet13.Range("B154") Then
Sheet5.Visible = False
Else
Sheet16.Visible = False
End If
End Sub
在我的所有测试中工作正常,如果单元格B8值发生变化,我还有一个宏指定给工作表(不是模块)以删除单元格上的值,我将其用于条件下拉。 (例如,Cel B8有一个砖块类型列表,cel B9有一个可用颜色列表,具体取决于砖块类型)
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'Call dropdowns on column 2 (B) Row 8
If Target.Column = 2 And Target.Row = 8 Then
If Target.Validation.Type = 3 Then
Application.EnableEvents = False
'clear content on cell 1 bellow of dropdown
Target.Offset(1, 0).ClearContents
End If
End If
exitHandler:
Application.EnableEvents = True
Exit Sub
End Sub
无论如何..也很好.. 现在我试图获得第一个宏结果,第二个宏通过在Sheet 4上放置代码的方式工作,2个不同的选项卡应该根据cel G2的值隐藏,我到目前为止:
Private Sub Hide_Tiling(ByVal Target As Range)
On Error Resume Next
'if dropdown on Shee4 G2 value = Sheet13 B154, hide Sheet5.
'if not, hide Sheet6
If Target.Column = 7 And Target.Row = 2 Then
If Sheet4.Range("G2") = Sheet13.Range("B154") Then
Application.EnableEvents = False
Sheet5.Visible = False
Else
Sheet16.Visible = False
End If
End If
exitHandler:
Application.EnableEvents = True
Exit Sub
End Sub
它没有返回错误也没有做任何事:) 我缺少什么?
单元格G2和H2合并是否重要?我也尝试取消它们,因此只指向G2格式,但仍然没有......
由于