【问题标题】:VBA - trigger macro when radio button is selectedVBA - 选择单选按钮时触发宏
【发布时间】:2014-04-04 15:48:51
【问题描述】:

当我选择单选按钮选项时,我无法自动运行宏。有两个单选按钮选项,它们链接到代号为“MAIN”的工作表上名为“SimType”的单元格。我已从 MSDN 改编了以下代码,并将其包含在 MAIN 工作表的模块中,但无法使其正常工作:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("SimType")
    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
       RefreshSimsList 
    End If
End Sub

我了解 Target 指的是 ActiveCell,因此当我手动将值 1 或 2 输入 Range("SimType") 时,宏会触发。但是,当链接的单选按钮更改单元格时,不会触发任何操作。我该怎么做才能让工作表识别出值已更改而不是 ActiveCell?

【问题讨论】:

  • 很遗憾,您无法使用表单控件执行此操作。要捕获单选按钮单击事件,您应该使用 ActiveX 控件 (RadioButton)。

标签: vba excel


【解决方案1】:

将此代码放在一个模块中

Sub OptCommon()
    '
    '~~> Rest of the code
    '
End Sub

只需右键单击两个选项按钮并将宏分配给它。现在不仅单元格值会改变,宏也会运行。

【讨论】:

    猜你喜欢
    • 2012-10-16
    • 2019-09-10
    • 2016-05-03
    • 2015-05-26
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2018-05-11
    相关资源
    最近更新 更多