【问题标题】:Combobox linked cell value change does not fire worksheet change event组合框链接单元格值更改不会触发工作表更改事件
【发布时间】:2017-07-04 09:02:36
【问题描述】:

根据问题:在通过 .LinkedCell 属性链接到单元格的 ActiveX 组合框中选择新值不会触发工作表更改事件。

我知道组合框有各种事件,例如它自己的更改事件,但它们都不适合我需要做的事情(更改单元格上的自定义数据验证)。

作为一种解决方法,我将 .LinkedCell 传递给我在组合框鼠标向上和按键事件上的验证代码(我不能使用失去焦点...长篇大论,并且每次角色更改都会触发更改,这太多了)。

有没有人知道一旦用户完成使用控件后在事件级别传递值的更简洁的方法?

【问题讨论】:

    标签: vba excel events combobox


    【解决方案1】:

    如果你想在工作表中触发 ChangeEvent,而不做任何事情,这里有一种方法:

    在一个模块中:

    Option Explicit
    
    Public Sub CheckMe()
        Application.Run "tblDB.Worksheet_Change", tblDB.Cells(1, 1)
    End Sub
    

    在名为tblDB的工作簿中:

    Option Explicit
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Debug.Print "triggered"
    End Sub
    

    现在,无论何时运行CheckMe,都会触发Worksheet_Change 事件。

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多