【问题标题】:Excel form control macro updates another sheet, Worksheet_Change event does not triggerExcel 表单控件宏更新另一个工作表,Worksheet_Change 事件不触发
【发布时间】:2017-04-26 13:38:40
【问题描述】:

我有一个 Excel 列表框(不是 ActiveX,因为它们会导致显示问题)和一个 Excel(对话框菜单驱动)宏,该宏将其值输出到列表框不同工作表上的命名范围单元格。在该表的代码中,我有以下内容

Private Sub Worksheet_Change(ByVal Target As Range)
    Debug.Print "ping"
End Sub

单击列表框时不会触发宏事件(因此会更新命名范围单元格的值)。我已验证当我直接更新该工作表时宏会执行。

我假设表单控制宏正在环绕工作表事件触发器。我对吗?有人知道有效的解决方法吗?我被难住了。

谢谢

【问题讨论】:

    标签: excel vba events triggers controls


    【解决方案1】:

    您可以将宏分配给 ListBox 作为ListBox1_Change 事件(右键单击 › 分配宏),该事件将在 ListBox 值更改时执行,而不是 Worksheet_Change

    可能这就是为什么在使用 ListBox 更改单元格值时不再触发 Worksheet_Change 的原因。

    【讨论】:

    • 完美,谢谢。我有一个用词不当,即以您描述的方式分配宏会禁用控件的功能。我错了
    • @Bezique 您可能会考虑接受此作为问题的解决方案,以便其他用户知道它已解决。
    • 正在学习如何做到这一点...我已经点击了向上箭头,但被告知我需要 15 个代表才能显示我的投票。还有什么我应该做的吗?
    • @Bezique 没问题,你可以在这里阅读它是如何工作的:Accepting Answers: How does it work?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多