2017-02-15 42 views
1

按照以下问题:通过链接到单元格的ActiveX组合框中选择一个新值,它的.LinkedCell属性不会触发工作表更改事件。Combobox链接的单元格值更改不会触发工作表更改事件

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

作为一种解决方法,我将.LinkedCell传递给组合框上的验证代码,以及关键事件(我不能使用丢失的焦点...很长的故事,并且在每次改变角色时都会发生变化许多)。

有没有人知道一个更清晰的方式来传递事件级别的值,一旦用户完成使用控制?

回答

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事件。