Excel 中的 VBA 控件:窗体和 ActiveX

⚡ 智能摘要

Excel 中的 VBA 控件是构成图形用户界面的交互式元素,例如按钮、复选框和文本框。本页将介绍窗体控件和 ActiveX 控件,阐述两者的区别,并提供一个 ActiveX 命令按钮的分步示例。

  • 🧩 图形用户界面控件: 按钮、组合框、复选框和标签构成了用户在工作表上进行交互的界面。
  • 🗂️ 表单控件: 简单的控件,可以运行单个指定的宏,并且适用于两者。 Windows 以及 Mac 版 Excel。
  • ⚙️ ActiveX控件: 功能更丰富的控件,具有许多属性和事件,使用 VBA 编写,可在以下平台获取: Windows 仅限Excel。
  • 🔧 先决条件: 在添加控件之前,请启用“开发工具”功能区并将文件另存为启用宏的工作簿。
  • ▶️ ActiveX 示例: 命令按钮会打印字符串 Guru99 VBA教程:单击时将数据写入单元格区域A1到A10。
  • 🖱️ 活动: ActiveX 控件通过专用子程序响应 Click、Change 和 GotFocus 等事件。

Excel中的VBA控件

VBA 控件:Excel 中的 VBA 表单控件和 ActiveX 控件

Excel 中的 VBA 表单/GUI 控件

GUI 是图形用户界面的缩写。GUI 是程序中与用户交互的部分。GUI 由控件组成。这些 Excel VBA 控件可用于表单。下表显示了一些最常用的 GUI VBA 控件。

S / N 通过积极争取让商标与其相匹配的域名优先注册来维护 描述
1 命令 用于执行代码
2 组合 Box 用于向用户显示下拉列表
3 确保 Box 用于真值或假值。多个复选框可以同时具有真值。
4 列表 Box 用于向用户呈现简单列表
5 文本 Box 用于接受用户输入
6 滚动条 用于提供用于导航目的的滚动条。
7 旋转按钮 通过单击旋转按钮中出现的向上或向下箭头来增加或减少数值
8 选项按钮 用于表示真值或假值。一次只能有一个选项按钮具有真值。
9 标签 用于向用户显示静态文本
10 图片 用于显示图像
11 Toggl按钮 具有按下和未按下状态的按钮。

在 VBA GUI 控件中,

  1. 点击开发者选项卡
  2. 点击插入下拉按钮

您将获得以下下拉面板

Excel 中的 VBA 表单/GUI 控件

如果将鼠标悬停在 VBA 表单控件上,控件的名称将显示如下

Excel 中的 VBA 表单/GUI 控件

向电子表格添加 GUI 控件

我们现在将向工作簿添加一个命令按钮,为此我们必须

  • 点击插入下拉菜单
  • 单击命令按钮(ActiveX 控件),如上图所示
  • 在表单上拖拽绘制按钮

向电子表格添加 GUI 控件

设置 GUI 控件属性

我们现在将按钮的标题设置为更具描述性的内容

设置 GUI 控制属性

  1. 右键单击我们刚刚创建的等号按钮
  2. 选择属性菜单
  3. 您将看到以下属性窗口

设置 GUI 控制属性

  • 将 name 属性设置为 btnButton。name 属性用于在代码窗口中标识控件。btn 是按钮的前缀。
  • 将 Caption 属性设置为 Click Me。caption 属性中的文本是用户将在按钮上看到的内容。

完成后关闭窗口。

您将获得以下结果。

设置 GUI 控制属性

表单控件和ActiveX控件的区别

Excel 提供两类控件,选择合适的控件可以简化项目。窗体控件是 Excel 内置控件,运行单个指定的宏;而 ActiveX 控件是可编程对象,可通过 VBA 代码响应多种事件。下表对这两类控件进行了比较。

特性 表单控件 ActiveX控件
设置 很简单;只需将一个宏分配给该控件即可。 需要 VBA 事件代码才能响应
物业 选项有限 内容广泛,包括字体、颜色和行为
活动 单击即可执行单个操作 诸如 Click、Change 和 GotFocus 等许多事件
兼容性 工程 Windows 和 Mac Excel 工程 Windows 仅限 Excel
最适合 快速、简单的练习题 交互式和动态用户表单

简而言之,当只需要一个宏时,使用 Form 控件;当界面需要丰富的属性或必须响应多个用户事件时,选择 ActiveX 控件。

条件

在构建 ActiveX 示例之前,请准备好工作簿,以便控件可用且宏可以保存。

配置 Microsoft Excel
正如我们在前面的教程中看到的,确保您的功能区有“开发人员”图标,如下所示。

条件

现在,将 sheet1 重命名为“VBA Opera如下面的屏幕截图所示,将工作簿保存为 Excel 宏启用工作簿 (*.xlsm) 文件扩展名。(参见下图)

条件

之后,单击“保存”按钮。

如何在 VBA 中使用 ActiveX 控件

工作簿准备就绪后,我们就可以添加一个可用的 ActiveX 按钮了。在本节关于 Excel ActiveX 控件的内容中,我们将学习如何在 VBA 中集成“command-click”按钮,并使用该按钮执行程序。

步骤1) 在此步骤中,单击 Active X Control 中的“插入按钮”选项。然后从中选择命令按钮选项。

在 VBA 中使用 ActiveX 控件

步骤2) 要插入“clickcommandbutton1”,请将鼠标光标拖到 Excel 表中。

在 VBA 中使用 ActiveX 控件

步骤3) 然后右键单击命令按钮,选择“查看”选项。 Code。

在 VBA 中使用 ActiveX 控件

步骤4) 检查您是否在正确的工作表上。代码编辑器将打开。输入您的代码。

  • 在代码中,我们定义了范围A1到A10。
  • 此范围定义 Excel 表中的单元格编号从“A1 到 A10”。
  • 接下来,我们定义字符串“Guru99 个 VBA 教程”代码
  • 所以,当你在Excel中点击“命令按钮”时,它应该打印“Guru在单元格区域“A1 到 A10”中输入“99 VBA 教程”。

在 VBA 中使用 ActiveX 控件

步骤5) 下一步,保存代码文件,然后退出编辑器。要返回 Excel 文件,请单击 Excel 工作表图标 在 VBA 中使用 ActiveX 控件 在最左边。

在 VBA 中使用 ActiveX 控件

步骤6) 在 Excel 表中,您将看到“设计模式”选项卡已打开。请确保它处于“关闭”状态,否则您的代码将无法运行。

在 VBA 中使用 ActiveX 控件

步骤7) 当设计模式关闭时,它上面不会有绿色高亮。现在您可以单击命令按钮。

在 VBA 中使用 ActiveX 控件

步骤8) 点击“CommandButton1”。它将打印“Guru在单元格区域“A1 到 A10”中输入“99 VBA 教程”。

在 VBA 中使用 ActiveX 控件

下载包含上述代码的 Excel

下载上述Excel表格 Code

VBA 中的常见 ActiveX 控件事件

ActiveX控件功能强大,因为它能够响应事件,也就是用户对控件执行的操作。每个事件都会运行其自身的子程序,因此同一个按钮可以根据用户的操作表现出不同的行为。最常见的事件如下所示。

  • 点击 – 当用户单击控件时运行代码,即上面示例中使用的事件。
  • 更改 – 当控件的值发生变化时运行,例如 typing 在文本框中输入或从组合框中选择项目。
  • GotFocus / LostFocus – 当控件获得或失去焦点时运行,可用于验证输入。
  • 按键响应 – 当控件处于活动状态时,用户按下某个键,该操作就会运行。
  • 鼠标移动 – 当鼠标指针移动到控件上时运行。
  • DblClick – 当用户双击控件时运行。

要为任何事件添加代码,请切换到设计模式,右键单击控件,然后选择“视图”。 Code然后从代码窗口顶部的下拉列表中选择事件。

常见问题

表单控件运行您分配给它的单个宏,并执行以下操作: Windows 以及 Mac。ActiveX 控件使用 VBA 编程,公开了许多属性和事件,并且可以在以下平台上使用: Windows 仅限Excel。

窗体和 ActiveX 控件的“插入”菜单位于“开发工具”功能区中,该功能区默认处于隐藏状态。您可以通过“文件”>“选项”>“自定义功能区”启用它,然后勾选“开发工具”,即可显示控件和 VBA 编辑器。

该按钮可能仍处于设计模式,在“开发工具”选项卡中会显示绿色高亮。请关闭设计模式,以便控件运行其事件代码。此外,工作簿必须另存为启用宏的 .xlsm 文件。

是的。像 Copilot 这样的 AI 助手可以根据简单的描述编写点击或更改子程序,例如,按下按钮时清除范围。开发者将其粘贴到控件的代码窗口中并进行测试。

是的。描述您需要的输入,人工智能助手会建议合适的控件,例如用于固定列表的组合框或用于“是”或“否”值的复选框,并解释如何设置其关键属性。

总结一下这篇文章: