重要: 此功能在 Windows RT PC 上的 Office 中不可用。 想要了解你正在使用的 Office 版本?
使用表单以及可以向其中添加的许多控件和对象,你可以使工作表中的数据输入更简单并提升工作表的外观。 也可使用少量或者无需使用 Microsoft Visual Basic for Applications (VBA) 代码来自己实现这一点。
工作表表单与 Excel 模板不是一回事。 模板是一个预设格式的文件,可以帮助您开始创建工作簿并使其外观符合您的需要。 表单包含复选框或下拉列表等控件,可以让使用您的工作表的用户更容易输入或编辑数据。 若要了解有关可下载的模板的详细信息,请参阅 Excel 模板。
什么是表单?
窗体(无论是打印的还是联机的)都是采用标准结构和格式设计的文档,可更轻松地捕获、组织和编辑信息。
-
打印的表单包含用于写入或键入数据的指令、格式、标签和空格。 可以使用 Excel 和 Excel 模板创建打印表单。
-
联机表单包含与打印表单相同的功能。 此外,联机窗体包含控件。 控件是显示数据或使用户更容易输入或编辑数据、执行操作或做出选择的对象。 通常,控件使表单更易于使用。 例如,列表框、选项按钮和命令按钮都是常用控件。 通过运行 Visual Basic for Applications (VBA) 代码,这些控件还可以运行指定宏和响应事件,例如鼠标点击。
可以通过多种方式使用 Excel 创建打印窗体和联机表单。
Excel 表单的类型
您可以在 Excel 中创建多种类型的表单:数据表单、含有表单和 ActiveX 控件的工作表以及 VBA 用户表单。 可以单独使用每种类型的表单,也可以通过不同方式将它们结合在一起来创建适合您的解决方案。
数据表单
数据表单为在无需水平滚动的情况下在单元格区域或表格中输入或显示一整行信息提供了一种便捷方式。 您可能会发现,当数据的列数超过可以在屏幕上查看的数据列数时,使用数据表单可以使数据输入变得更容易,而无需在列之间进行移动。 如果以标签的形式将列标题列出的文本框这一简单表单足以满足您的需求,而且您不需要使用复杂的或自定义的表单功能(例如列表框或调节钮),则可以使用数据表单。
Excel 可以自动生成 范围 或 表 的内置数据窗体。 数据表单会在一个对话框中将所有列标题都显示为标签。 每个标签旁边都有一个空白文本框,您可以在其中输入每一列的数据,最多可以输入 32 列数据。 在数据窗体中,可以输入新行、通过导航查找行,或者根据单元格内容 () 更新行和删除行 。 如果某个单元格包含公式,则公式结果会显示在数据表单中,但您不能使用数据表单更改该公式。
含有表单和 ActiveX 控件的工作表
工作表是一种表单类型,可用于在网格上输入和查看数据,Excel 工作表中已内置了多个类似控件的功能,例如注释和数据验证。 单元格类似于文本框,你可以在其中以多种方式输入和设置它们的格式。 单元格通常用作标签,通过调整单元格高度和宽度以及合并单元格,可以使工作表的行为类似于简单的数据输入表单。 其他类似控件的功能(如单元格注释、超链接、背景图像、数据验证、条件格式设置、嵌入图表和自动筛选)可以使工作表的行为类似于高级表单。
为增加灵活性,您可以向工作表的画布添加控件和其他绘图对象,并将它们与工作表单元格相结合和配合。 例如,您可以使用列表框控件方便用户从项目列表中选择项目。 还可以使用调节钮控件方便用户输入数字。
因为控件和对象存储在绘图画布中,所以你可以显示或查看不受行和列边界限制的关联文本旁边的控件和对象,而无需更改工作表中数据网格或表的布局。 在大多数情况下,还可以将其中许多控件链接到工作表中的单元格,而无需使用 VBA 代码即可使它们正常工作。 你可以设置相关属性来确定控件是自由浮动还是与单元格一起移动和改变大小。 例如,在对区域进行排序时,您可能有一个希望与基础单元格一起移动的复选框。 不过,如果您有一个希望一直保持在特定位置的列表框,则您可能希望它不与其基础单元格一起移动。
Excel 有两种类型的控件:表单控件和 ActiveX 控件。 除了这些控件集外,还可以从绘图工具添加对象,例如 自选图形 、 艺术字 、SmartArt 图形或文本框。
以下部分介绍这些控件和绘图对象,此外,还更为详细地介绍如何使用这些控件和对象。
表单控件
表单控件是与早期版本的 Excel(从 Excel 5.0 版开始)兼容的原始控件。 表单控件还适于在 XLM 宏工作表中使用。
如果您想在不使用 VBA 代码的情况下轻松引用单元格数据并与其进行交互,或者想在图表工作表中添加控件,则可使用表单控件。 例如,将列表框控件添加到工作表并将其链接到单元格后,可以返回控件中选定项的当前位置的数值。 然后,您可以将该数值与 INDEX 函数结合使用,以从列表中选择不同的项目。
您还可以使用表单控件来运行宏。 可以将现有宏附加到控件,也可以编写或录制新宏。 当表单用户单击控件时,该控件会运行宏。
但是,这些控件不能添加到 UserForms、用于控制事件或修改以在网页上运行 Web 脚本。
表单控件概述
按钮名称 |
示例 |
说明 |
|
---|---|---|---|
|
标签 |
|
用于标识单元格或文本框的用途,或显示说明性文本(如标题、题注、图片)或简要说明。 |
|
分组框 |
|
用于将相关控件划分到具有可选标签的矩形中的一个可视单元中。 通常情况下,选项按钮、复选框或紧密相关的内容会划分到一组。 |
|
按钮 |
|
用于运行在用户单击它时执行相应操作的宏。 按钮还称为下压按钮。 |
|
复选框 |
|
用于启用或禁用指示一个相反且明确的选项的值。 您可以选中工作表或分组框中的多个复选框。 复选框可以具有以下三种状态之一:选中(启用)、清除(禁用)或混合(即同时具有启用状态和禁用状态,如多项选择)。 |
|
选项按钮 |
|
用于从一组有限的互斥选项中选择一个选项;选项按钮通常包含在分组框或结构中。 选项按钮可以具有以下三种状态之一:选中(启用)、清除(禁用)或混合(即同时具有启用状态和禁用状态,如多项选择)。 选项按钮还称为单选按钮。 |
|
列表框 |
|
用于显示用户可从中进行选择的、含有一个或多个文本项的列表。 使用列表框可显示大量在编号或内容上有所不同的选项。 有以下三种类型的列表框:
|
|
组合框 |
|
结合文本框使用列表框可以创建下拉列表框。 组合框比列表框更加紧凑,但需要用户单击向下箭头才能显示项目列表。 使用组合框,用户可以键入条目,也可以从列表中只选择一个项目。 该控件显示文本框中的当前值(无论值是如何输入的)。 |
|
滚动条 |
|
单击滚动箭头或拖动滚动框可以滚动浏览一系列值。 另外,通过单击滚动框与任一滚动箭头之间的区域,可在每页值之间进行移动(预设的间隔)。 通常情况下,用户还可以在关联单元格或文本框中直接键入文本值。 |
|
数值调节钮 |
|
用于增大或减小值,例如某个数字增量、时间或日期。 若要增大值,请单击向上箭头;若要减小值,请单击向下箭头。 通常情况下,用户还可以在关联单元格或文本框中直接键入文本值。 |
按钮名称 |
---|
文本字段 |
组合列表 - 编辑 |
组合下拉列表 - 向下编辑 |
“运行”对话框 |
ActiveX 控件
ActiveX 控件可用于工作表表单(使用或不使用 VBA 代码)和 VBA 用户表单。 通常,如果相对于表单控件所提供的灵活性,您的设计需要更大的灵活性,则使用 ActiveX 控件。 ActiveX 控件具有大量可用于自定义其外观、行为、字体及其他特性的属性。
您还可以控制与 ActiveX 控件进行交互时发生的不同事件。 例如,您可以执行不同的操作,具体取决于用户从列表框控件中所选择的选项;还可以查询数据库以在用户单击某个按钮时用项目重新填充组合框。 您还可以编写宏来响应与 ActiveX 控件关联的事件。 表单用户与控件进行交互时,VBA 代码会随之运行以处理针对该控件发生的任何事件。
您的计算机还包含由 Excel 和其他程序安装的多个 ActiveX 控件,如 Calendar Control 12.0 和 Windows Media Player。
重要: 并非所有 ActiveX 控件都可以直接用于工作表;有些 ActiveX 控件只能用于 Visual Basic for Applications (VBA) 用户表单。 如果您尝试向工作表中添加这些特殊 ActiveX 控件中的任何一个控件,Excel 都会显示消息“不能插入对象”。
然而,无法从用户界面将 ActiveX 控件添加到图表工作表,也无法将其添加到 XLM 宏工作表。 也不能将宏分配为直接从 ActiveX 控件运行,就像从 Form 控件一样。
ActiveX 控件概述
按钮名称 |
示例 |
说明 |
|
---|---|---|---|
|
复选框 |
|
用于启用或禁用指示一个相反且明确的选项的值。 您可以一次选中工作表或分组框中的多个复选框。 复选框可以具有以下三种状态之一:选中(启用)、清除(禁用)或混合(即同时具有启用状态和禁用状态,如多项选择)。 |
|
文本框 |
|
允许在矩形框中查看、键入或编辑绑定到单元格的文本或数据。 文本框还可以是显示只读信息的静态文本字段。 |
|
命令按钮 |
|
用于运行在用户单击它时执行相应操作的宏。 命令按钮还称为下压按钮。 |
|
选项按钮 |
|
用于从一组有限的互斥选项(通常包含在分组框或结构中)中选择一个选项。 选项按钮可以具有以下三种状态之一:选中(启用)、清除(禁用)或混合(即同时具有启用状态和禁用状态,如多项选择)。 选项按钮还称为单选按钮。 |
|
列表框 |
|
用于显示用户可从中进行选择的、含有一个或多个文本项的列表。 使用列表框可显示大量在编号或内容上有所不同的选项。 有以下三种类型的列表框:
|
|
组合框 |
|
结合文本框使用列表框可以创建下拉列表框。 组合框比列表框更加紧凑,但需要用户单击向下箭头才能显示项目列表。 使用组合框,用户可以键入条目,也可以从列表中只选择一个项目。 该控件显示文本框中的当前值(无论值是如何输入的)。 |
|
切换按钮 |
|
用于指示一种状态(如是/否)或一种模式(如打开/关闭)。 单击该按钮时会在启用和禁用状态之间交替。 |
|
数值调节钮 |
|
用于增大或减小值,例如某个数字增量、时间或日期。 若要增大值,请单击向上箭头;若要减小值,请单击向下箭头。 通常情况下,用户还可以在关联单元格或文本框中键入文本值。 |
|
滚动条 |
|
单击滚动箭头或拖动滚动框可以滚动浏览一系列值。 另外,通过单击滚动框与任一滚动箭头之间的区域,可在每页值之间进行移动(预设的间隔)。 通常情况下,用户还可以在关联单元格或文本框中直接键入文本值。 |
|
标签 |
|
用于标识单元格或文本框的用途,显示说明性文本(如标题、题注、图片)或提供简要说明。 |
|
图片 |
|
嵌入图片,如位图、JPEG 或 GIF。 |
结构控件 |
|
一个具有可选标签的矩形对象,用于将相关控件划分到一个可视单元中。 通常情况下,选项按钮、复选框或紧密相关的内容会划分到结构控件中。 注意: ActiveX 帧控件在 Insert 命令的 ActiveX 控件部分中不可用。 但您可以通过选择“Microsoft Forms 2.0 框架”,从“其他控件”对话框中添加该控件。 |
|
|
其他控件 |
用于显示您的计算机中所提供的、可添加到自定义表单中的其他 ActiveX 控件(如,Calendar Control 12.0 和 Windows Media Player)的列表。 您还可以在此对话框中注册自定义控件。 |
绘图工具对象
你可能还需要在窗体上包括 SmartArt 图形、形状、艺术字和文本框。 可以对这些对象执行调整大小、旋转、翻转、着色以及合并等操作来创建更为复杂的形状。 当您在形状或文本框对象中直接键入文本时,文本会变为该对象的一部分 ,如果旋转或翻转该对象,文本会随之一起旋转或翻转。 与 ActiveX 控件不同,您可以为对象中的各个字或字符指定不同的属性(如字号和字体样式)。 还可以为这些对象指定宏以及添加超链接。 甚至可以将形状或文本框对象中的文本链接到工作表单元格,以及在这些对象中自动显示更新的值。
使用工作表表单中的控件和对象
向工作表表单中添加表单和 ActiveX 后,通常需要以多种方式对控件进行细微调整和重新排列,以创建设计良好、便于用户使用的表单。 常见任务包括:
-
使用控件时控制网格线的显示,以及决定是否在最终工作表表单中向用户显示网格线。
-
选择和取消选择控件,以便可以指定属性或进行其他调整。
-
编辑控件中的文本,如标题或标签。
-
对控件执行分组、复制、移动和对齐操作,以组织工作表表单的布局。
-
调整控件大小并设置控件格式,以获取所需的外观。
-
在一个单元格中放置控件或调整控件大小。
-
根据特定的数据保护需求,保护控件和链接的单元格。
-
打印工作表表单时启用或禁用对控件的打印。
-
删除未使用的控件。
您可以设计在背景中包含或不包含网格线的工作表表单。 例如,您可能需要关闭单元格网格线,然后用相同的颜色或图案设置所有单元格的格式,甚至使用图片作为工作表的背景。 若要隐藏或显示网格线,请在“ 视图 ”选项卡上的“ 显示/隐藏 ”组中清除或选中“ 网格线 ”复选框。
确定工作表中控件的类型
因为有三种不同类型的控件和对象可供您单独修改,所以只通过查看控件可能无法确切了解控件属于哪一种类型。 若要确定控件的类型(表单或 ActiveX),请选定并右键单击控件,此时会显示快捷菜单:
-
如果快捷菜单包含“属性”命令,则该控件是 ActiveX 控件,并且您在使用设计模式。
-
如果快捷菜单包含“指定宏”命令,则该控件是表单控件。
提示: 若要显示组框窗体控件的正确快捷菜单,请确保选择外围而不是组框的内部。
-
如果快捷菜单包含“编辑文字”命令,则该对象是绘图对象。
VBA 用户表单
为了获得最大的灵活性,可以创建 UserForms(自定义对话框),通常包括一个或多个 ActiveX 控件。 进行相应设置以从您在“Visual Basic 编辑器”中创建的 VBA 代码中使用用户表单。 创建用户表单的高级步骤如下所示:
-
在工作簿的 VBAProject 中插入用户表单。 通过首先显示 Visual Basic 编辑器 (按 Alt+F11) ,然后在“ 插入 ”菜单上单击“ UserForm”来访问工作簿的 VBAProject。
-
编写一个用于显示用户表单的过程。
-
添加 ActiveX 控件。
-
修改 ActiveX 控件的属性。
-
为 ActiveX 控件编写事件处理程序过程。
通过使用 UserForms,还可以利用高级表单功能。 例如,您可以通过编程方式为字母表中的每个字母添加单独的选项按钮,也可以为较大的日期和数字列表中的每个项目添加复选框。
在创建用户表单之前,请考虑使用 Excel 中可满足您需求的内置对话框。 这些内置对话框包括 VBA InputBox 和 MsgBox 函数、Excel InputBox 方法、GetOpenFilename 方法、GetSaveAsFilename 方法以及 Application 对象的 Dialogs 对象(包含所有内置 Excel 对话框)。
有关详细信息,请访问 Microsoft Office Excel 开发人员中心。