Excel 宏 – 用户窗体

Excel 宏 – 用户窗体


有时,您可能需要反复从他人那里收集信息。Excel VBA 为您提供了一种处理此任务的简单方法 – UserForm与您填写的任何其他表格一样,UserForm 使您可以轻松理解要提供的信息。UserForm 是用户友好的,其提供的控件是不言自明的,并在必要时附有附加说明。

UserForm 的主要优点是您可以节省花费在填写信息的内容和方式上的时间。

创建用户表单

要创建用户窗体,请按以下步骤操作 –

  • 单击功能区上的开发人员选项卡。
  • 单击 Visual Basic。工作簿的 Visual Basic 窗口打开。
  • 点击插入,
  • 从下拉列表中选择用户窗体。

创建用户表单

用户窗体出现在窗口的右侧。

出现用户窗体

理解用户表单

最大化 UserForm.xlsx – UserForm1 窗口。

您现在处于设计模式。您可以在用户窗体上插入控件并为相应的操作编写代码。控件在工具箱中可用。UserForm 的属性位于“属性”窗口中。UserForm1(UserForm 的标题)在 Projects Explorer 的 Forms 下给出。

理解用户表单

  • 在属性窗口中将 UserForm 的标题更改为 Project Report – Daily。
  • 将用户窗体的名称更改为 ProjectReport。

项目报告

更改反映在用户窗体、属性和项目浏览器中。

工具箱中的控件

用户窗体将具有不同的组件。当您单击任何组件时,您将获得有关信息提供内容和方式的说明,或者您将获得可供选择的选项(选择)。所有这些都是通过用户窗体工具箱中的 ActiveX 控件提供的。

Excel 提供两种类型的控件——表单控件和 ActiveX 控件。您需要了解这两种控件之间的区别。

表单控件

表单控件是与早期版本的 Excel 兼容的 Excel 原始控件,从 Excel 5.0 版开始。表单控件也设计用于 XLM 宏表。

您可以使用表单控件运行宏。您可以将现有宏分配给控件,或者编写或录制新宏。单击控件时,宏。您已经学习了如何从工作表中的表单控件插入命令按钮以运行宏。但是,这些控件不能添加到用户窗体。

ActiveX 控件

ActiveX 控件可用于 VBA 用户窗体。ActiveX 控件具有广泛的属性,可用于自定义其外观、行为、字体和其他特征。

您在用户窗体工具箱中有以下 ActiveX 控件 –

  • 指针
  • 标签
  • 文本框
  • 组合框
  • 列表框
  • 复选框
  • 选项按钮
  • 框架
  • 切换按钮
  • 命令按钮
  • 标签条
  • 多页
  • 滚动条
  • 旋转按钮
  • 图像

除了这些控件之外,Visual Basic 还为您提供了 MsgBox 函数,可用于显示消息和/或提示用户执行操作。

在接下来的几节中,您将了解这些控件和 MsgBox。然后,您将能够选择设计用户窗体所需的这些控件中的哪一个。

标签

您可以通过显示描述性文本(例如标题、说明和/或简要说明)来使用标签进行识别。

例子

标签

文本框

您可以使用作为矩形框的 TextBox 来键入、查看或编辑文本。您还可以将 TextBox 用作显示只读信息的静态文本字段。

例子

文本框

列表框

您可以使用列表框来显示一个或多个文本项的列表,用户可以从中进行选择。使用列表框显示数量或内容不同的大量选项。

  • 在用户窗体上插入一个列表框。
  • 单击列表框。
  • 在列表框的属性窗口中为 Name 键入 ProjectCodes。

有三种类型的列表框 –

  • 单选列表框– 单选列表框只能选择一个。在这种情况下,列表框类似于一组选项按钮,不同之处在于列表框可以更有效地处理大量项目。

  • 多选列表框– 多选列表框启用一个选择或连续(相邻)选择。

  • 扩展选择列表框– 扩展选择列表框支持一个选择、连续选择和非连续(或不连续)选择。

您可以从“属性”窗口中选择这些类型的列表框之一。

列表框

  • 右键单击用户窗体。
  • 从下拉列表中选择查看代码。用户窗体的代码窗口打开。
  • 单击代码窗口右上角框中的初始化。
  • 在 Private Sub UserForm_Initialize() 下键入以下内容。
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

初始化

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

选择运行

接下来,您可以为在列表中选择项目的操作编写代码。否则,您可以只显示选定的文本,这是在报告中填写项目代码的情况。

组合框

您可以使用将文本框与列表框组合在一起的ComboBox来创建下拉列表框。组合框比列表框更紧凑,但需要用户单击向下箭头以显示项目列表。使用组合框从列表中仅选择一项。

  • 在用户窗体上插入一个组合框。
  • 单击组合框。
  • 在 ComboBox 的属性窗口中为 Name 键入 ProjectCodes2。

组合框

  • 右键单击用户窗体。
  • 从下拉列表中选择查看代码。
  • 用户窗体的代码窗口打开。

键入以下内容,如下所示。

ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5") 

代码窗口

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

运行标签

单击向下箭头以显示项目列表。

单击向下箭头

单击所需的项目,例如 Project2016-5。所选选项将显示在组合框中。

必填项目

复选框

您可以使用复选框来选择通过单击复选框显示的一个或多个选项。选项将带有标签,您可以清楚地看到选择了哪些选项。

一个复选框可以有两种状态 –

  • 选中(打开),用方框中的勾号表示
  • 已清除(关闭),由清除框​​表示

您可以使用复选框来选择组合框中的选项以节省空间。在这种情况下,复选框也可以具有第三种状态 –

  • 混合,表示开和关状态的组合,由框中的黑点表示。这将显示为在带有复选框的组合框中指示多项选择。

  • 在用户窗体中插入复选框,如下所示。

复选框

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 单击所选选项的框。

盒子

选项按钮

您可以使用选项按钮(也称为单选按钮)在一组有限的互斥选项中做出一个选择。选项按钮通常包含在组框或框架中。

选项按钮由一个小圆圈表示。选项按钮可以具有以下两种状态之一 –

  • 选中(打开),用圆圈中的一个点表示
  • 清除(关闭),由空白表示

框架

您可以使用框架控件(也称为分组框)将相关控件分组为一个可视单元。通常,选项按钮、复选框或密切相关的内容组合在一个框架控件中。

框架控件由带有可选标签的矩形对象表示。

  • 插入一个标题为“选择”的框架。

  • 在框架控件中插入两个标题为“是”和“否”的选项按钮。Yes 和 No 选项是互斥的。

框架

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 单击您选择的选项。

选择的选项

切换按钮

您可以使用切换按钮来指示状态(例如是或否)或模式(例如开或关)。单击该按钮时,它会在启用和禁用状态之间交替。

在用户窗体上插入一个切换按钮,如下所示 –

切换按钮

  • 单击功能区上的运行选项卡。

  • 从下拉列表中选择运行子/用户窗体。默认情况下,切换按钮将处于启用状态。

默认

单击切换按钮。切换按钮将被禁用。

切换按钮

如果再次单击切换按钮,它将被启用。

命令按钮

您可以使用命令按钮运行宏,当用户单击它时执行某些操作。您已经学习了如何使用工作表上的命令按钮来运行宏。

命令按钮也称为按钮。在用户窗体上插入一个命令按钮,如下所示 –

命令按钮

  • 右键单击命令按钮。
  • 在子 Commandbutton1_click () 中键入以下代码。
ProjectCodes2.DropDown 

命令按钮 1

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

每日报告

单击命令按钮。组合框的下拉列表打开,因为它是您在代码中编写的操作。

组合框

标签条

您可以在用户窗体上插入类似于 Excel 选项卡的选项卡条。

滚动条

您可以使用滚动条通过单击滚动箭头或拖动滚动框来滚动一系列值。

通过在需要的位置绘制滚动条并调整滚动条的长度,在用户窗体上插入滚动条。

滚动条

  • 右键单击滚动条。
  • 从下拉列表中选择查看代码。代码窗口打开。
  • 在 sub ScrollBar1_Scroll() 下添加以下行。
TextBox2.Text = "Scrolling Values" 

滚动值

  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。

滚动条报告

拖动滚动框。文本 – 滚动值将显示在文本框中,因为您将其指定为滚动条滚动的操作。

文本框

消息框 ()

您可以使用 MsgBox() 函数在单击某物时显示消息。它可以是指南或一些信息,也可以是警告或错误警报。

例如,您可以在开始滚动滚动框时显示正在滚动值的消息。

消息框函数

消息框图标显示

您可以使用描述特定消息的消息框图标显示。您有多个消息框图标来满足您的目的 –

  • 在 ScrollBar1_scroll 下键入以下代码。
MsgBox "Select Ok or Cancel", vbOKCancel, "OK  - Cancel Message" 
MsgBox "It's an Error!", vbCritical, "Run time result" 
MsgBox "Why this value", vbQuestion, "Run time result" 
MsgBox "Value Been for a Long Time", vbInformation, "Run time result" 
MsgBox "Oh Is it so", vbExclamation, "Run time result" 
  • 单击功能区上的运行选项卡。
  • 从下拉列表中选择运行子/用户窗体。
  • 拖动滚动框。

您将依次收到以下消息框。

消息框

设计用户表单

现在,您已经了解了可以在用户窗体上使用的不同控件。选择控件,根据需要对它们进行分组,并按照某种有意义的顺序在用户窗体上排列它们。将所需操作编写为对应于各个控件的代码。

有关 UserForm 的示例,请参阅本教程库中的 VBA 教程。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁