Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.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 - Fatal编程技术网

Excel 如果更改了一个组合框,请重置另一个组合框

Excel 如果更改了一个组合框,请重置另一个组合框,excel,vba,Excel,Vba,我在一张纸上有两个activeX组合框:一个用于月份,一个用于季度。 “月份”组合框包含一个“--”选项,表示未选择任何月份。 我还在四分之一组合框中使用“---”字符 如果用户选择的是月份,而不是“--”,则季度框将重置为“--”。 类似地,如果用户选择一个季度,月组合框应该重置为“--” 工作表中的我的代码(“shDashboard”是工作表的代码名。框名为Quarter_Combo和Month_Combo。): Private Sub-Month\u Combo\u Change() Ms

我在一张纸上有两个activeX组合框:一个用于月份,一个用于季度。
“月份”组合框包含一个“--”选项,表示未选择任何月份。
我还在四分之一组合框中使用“---”字符

如果用户选择的是月份,而不是“--”,则季度框将重置为“--”。
类似地,如果用户选择一个季度,月组合框应该重置为“--”

工作表中的我的代码(“shDashboard”是工作表的代码名。框名为Quarter_Combo和Month_Combo。):

Private Sub-Month\u Combo\u Change()
MsgBox“月份组合”
shDashboard.Quarter_Combo.Value=“-”
端接头
私有子季度组合更改()
MsgBox“四分之一组合”
shDashboard.Month\u Combo.Value=shDashboard.Month\u Combo.List(0)
端接头
消息框用于帮助进行故障排除。
当我更改月份时,它会更新季度组合框,而季度组合框又会更新月份组合框。
结果是两个框都显示“--”


我尝试了
Application.EnableEvents=False
应用程序。在这种情况下,EnableEvents
不起作用。这里有一个解决办法

Private pbDisableComboEvents As Boolean

Private Sub Month_Combo_Change()
    If Not pbDisableComboEvents Then
        MsgBox "Month_Combo"
        pbDisableComboEvents = True
        Me.Quarter_Combo.Value = "-"
        pbDisableComboEvents = False
    End If
End Sub

Private Sub Quarter_Combo_Change()
    If Not pbDisableComboEvents Then
        MsgBox "Quarter_Combo"
        pbDisableComboEvents = True
        Me.Month_Combo.Value = "-"
        pbDisableComboEvents = False
    End If
End Sub

工作起来很有魅力!谢谢你的帮助!