【问题标题】:Perform a macro by Checkbox Input通过复选框输入执行宏
【发布时间】:2016-09-14 19:53:56
【问题描述】:

我有Check-Boxes 带有国家名称的标题和User-form 上的OK 按钮,

用户将Mark 需要Check-Boxes 并单击OK 提交表单。

预期结果:对于每个选中的Box,都有一个要执行的Macro

如何使OK 按钮在用户选中的选定国家/地区执行宏?

以下代码是否正确处理了这种情况?还是有其他方法可以做到这一点?

If ActiveDocument.CeemeaFinallist.EasternEurope("CheckBox1").CheckBox.Value = True Then
Application.Run MacroName:="Normal.NewMacros.CEEMEA2"
Else
End If

如何同时Select allCheck-Boxes

【问题讨论】:

  • 放在按钮的点击事件里面?不清楚你在问什么......
  • 现在更有意义了。不确定您是在问如何使按钮触发宏,还是在问如何通过所有复选框使其工作。
  • 第 1 步:用户勾选标记第 2 步:用户点击ok 第 3 步:确定后 vba 将对标记的国家/地区执行宏

标签: vba ms-word word-2007 word-2003


【解决方案1】:

尝试遍历控件并触发复选框设置为 True 的宏:

Private Sub CommandButton1_Click()
Dim ctl As Control
Dim j As Long
For Each ctl In Me.Controls
    If TypeOf ctl Is MSForms.CheckBox Then
        If Me.Controls(ctl.Name).Value = True Then
            ' Fire macro with ctl.Caption to identify the country
        End If
    End If
Next    
End Sub

【讨论】:

  • 我如何单击Select All复选框。
  • 添加一个名为 Select All 的复选框,并在其值为 true 的单击事件中将所有单个复选框设置为 true。您可以使用与上面提供的答案类似的代码。
  • 我认为Select All 是另一个问题,这就是我添加新问题的原因。请看看我与全选相关的问题。Link
猜你喜欢
  • 2016-12-19
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
  • 2018-03-15
  • 1970-01-01
  • 2011-05-03
  • 2014-03-19
  • 1970-01-01
相关资源
最近更新 更多