将 activeX 控件的命令按钮链接到模块

linking activeX control's command button to a module

好的,这是我的问题。是否可以从 Excel sheet 上的 activeX 控件命令按钮调用模块?

场景如下:我有一个 sheet 叫做菜单。在 Menu 上,有 10 个 activeX Control 命令 buttons.I 需要命令按钮来调用或链接到模块。我对如何实现这一点一无所知。有可能吗?如果是这样,我该怎么做?如果没有,还有其他选择吗?

非常感谢。

很简单。当您将活动控件添加到 excel sheet 时,您可以打开工作模块sheet,然后在那里添加代码。

确保您添加的是 activeX 按钮而不是 excel 按钮,因为它们是不同的东西。

您将需要功能区上的 "developer tab" 显示 (google "add developer tab to excel ribbon") 以允许您插入控件并访问 VBA 编辑器。

您可以右键单击控制按钮并选择 "view code" - 这将创建点击事件。您可以添加代码来调用任何现有的宏。例如Call MyMacro1

请注意,在模块编辑器中,您可以使用顶部的组合框 select 控件名称和要添加的事件类型,以创建事件处理程序声明代码。因此,您可以从此处为所有 10 个按钮添加代码。

哈维

  1. 打开VB编辑器(Alt+F11)
  2. 在 Project Explorer window 中的 'Microsoft Excel Objects' 下,右键单击按钮出现的 sheet 和 select 'View Code'

  1. 在左上角的下拉菜单中,select 相应的命令按钮

  1. 这会将以下代码添加到适当的工作sheet模块

    Private Sub CommandButton21_Click()
    'Your on click actions go here
    End Sub
    

这意味着现在我们可以执行操作(例如调用我们的子例程)

    Private Sub CommandButton21_Click()
        Call MyMacro
    End Sub

现在,MyMacro 可以出现在 Click 事件所在的工作 sheet 关卡代码中,也可以作为 Public Sub 某处存在一个模块。

更新

要显示用户窗体,请使用带有 Show 方法的用户窗体名称。默认名称是 UserForm1(或 UserForm2UserForm3 等,具体取决于您添加的数量)。

如果您想在点击时显示此用户表单,您可以使用此代码:

Private Sub CommandButton21_Click()
        UserForm1.Show
End Sub