Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel-删除条件下拉列表中的值的宏_Excel_Vba_Drop Down Menu_Tabs_Hide - Fatal编程技术网

Excel-删除条件下拉列表中的值的宏

Excel-删除条件下拉列表中的值的宏,excel,vba,drop-down-menu,tabs,hide,Excel,Vba,Drop Down Menu,Tabs,Hide,好的,我有一个宏分配给一个按钮,根据下拉列表的值隐藏一个选项卡 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值发生变化,

好的,我有一个宏分配给一个按钮,根据下拉列表的值隐藏一个选项卡

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有一份颜色列表,取决于砖块类型)

无论如何。。工作也很好。。 现在,我正在尝试获取第一个宏结果,第二个宏的工作方式是在第4页上放置一个代码,根据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单元,仍然没有任何结果


感谢

只需调试.print或msgbox Sheet4.Range(“G2”)、Sheet13.Range(“B154”)、Target.Column和Target.Row,并检查是否有错误,抱歉我的无知@Gotrekk,但我该如何做?如果Sheet4.Range(“G2”)=Sheet13.Range(“B154”),则在刚刚之后添加msgbox Target.Column&“-”&Target.Row&“&Sheet4.Range(“G2”)&-”&Sheet13.Range(“B154”)(不能将整个代码转换为注释,但)。。。如果Sheet4.Range(“G2”)=Sheet13.Range(“B154”),则调试.Print Target.Column&“-”&Target.Row&“-”&Sheet4.Range(“G2”)&Sheet13.Range(“B154”)应用程序。EnableEvents=False。。。尝试了msgbox和debug.print,但没有任何想法@Gotrekk?只需debug.print或msgbox Sheet4.Range(“G2”)、Sheet13.Range(“B154”)、Target.Column和Target.Row,并检查是否有错误抱歉我的无知@Gotrekk,但我该如何做?如果Sheet4.Range(“G2”)=Sheet13.Range(“B154”)之后,则添加msgbox Target.Column&“&Target.Row&“-”和Sheet4.Range(“G2”)和“-”和Sheet13.Range(“B154”)(不能将整个代码转换为注释,但是)。。。如果Sheet4.Range(“G2”)=Sheet13.Range(“B154”),则调试.Print Target.Column&“-”&Target.Row&“-”&Sheet4.Range(“G2”)&Sheet13.Range(“B154”)应用程序。EnableEvents=False。。。尝试了msgbox和debug.print,但什么都没有,有什么想法@Gotrekk?
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