📅  最后修改于: 2020-12-01 05:39:35             🧑  作者: Mango
有时,您可能不得不反复从他人那里收集信息。 Excel VBA为您提供了一种轻松的方式来处理此任务-UserForm 。与您填写的任何其他表格一样,UserForm使您易于理解要提供的信息。 UserForm对用户友好,因为所提供的控件是不言自明的,并在必要时附有其他说明。
UserForm的主要优点在于,您可以节省花费时间在信息的填充方式上。
要创建一个用户窗体,请按照下列步骤操作:
UserForm出现在窗口的右侧。
最大化UserForm.xlsx – UserForm1窗口。
您现在处于设计模式。您可以在用户窗体上插入控件,并为相应的动作编写代码。这些控件在工具箱中可用。 UserForm的属性在“属性”窗口中。 UserForm1(UserForm的标题)在Projects Explorer中的Forms下给出。
所做的更改将反映在用户窗体,属性和项目资源管理器中。
一个用户窗体将具有不同的组件。当您单击任何一个组件时,将为您提供有关如何提供信息以及如何提供信息的说明,或者为您提供可供选择的选项(选择)。所有这些都是通过UserForm工具箱中的ActiveX控件提供的。
Excel提供两种控件-表单控件和ActiveX控件。您需要了解这两种控件之间的区别。
表单控件是与Excel早期版本(从Excel 5.0版开始)兼容的Excel原始控件。表单控件还设计用于XLM宏表。
您可以通过使用窗体控件来运行宏。您可以将现有的宏分配给控件,或者编写或记录新的宏。单击该控件时,该宏。您已经学习了如何从工作表中的“表单”控件中插入命令按钮来运行宏。但是,这些控件不能添加到用户窗体。
ActiveX控件可以在VBA用户窗体上使用。 ActiveX控件具有广泛的属性,可用于自定义其外观,行为,字体和其他特征。
您在UserForm工具箱中具有以下ActiveX控件-
除了这些控件之外,Visual Basic还为您提供MsgBox函数,该函数可用于显示消息和/或提示用户进行操作。
在接下来的几节中,您将了解这些控件和MsgBox。然后,您将可以选择设计UserForm所需的控件。
您可以通过显示描述性文本(例如标题,标题和/或简要说明)来将“标签”用于识别目的。
例
您可以使用作为矩形框的TextBox键入,查看或编辑文本。您还可以将TextBox用作显示只读信息的静态文本字段。
例
您可以使用列表框显示一个或多个文本项的列表,用户可以从中选择。使用列表框显示数量或内容不同的大量选项。
列表框有三种类型-
单选列表框-单选列表框仅启用一个选择。在这种情况下,列表框类似于一组选项按钮,除了列表框可以更有效地处理大量项目。
多选列表框-多选列表框可启用一个选项或连续(相邻)选项。
扩展选择列表框-扩展选择列表框可启用一个选择,连续选择和非连续(或脱节)选择。
您可以从“属性”窗口中选择这些类型的列表框之一。
ProjectCodes.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
接下来,您可以编写代码以选择列表中的项目。否则,您只能显示所选的文本,这是在报告中填写项目代码的情况。
您可以使用将文本框和列表框组合在一起的ComboBox来创建下拉列表框。组合框比列表框更紧凑,但是需要用户单击向下箭头以显示项目列表。使用组合框只能从列表中选择一项。
键入以下内容,如下所示。
ProjectCodes2.List = Array ("Proj2016-1", "Proj2016-2", "Proj2016-3", "Proj20164", "Proj2016-5")
单击向下箭头以显示项目列表。
单击所需的项目,例如Project2016-5。所选选项将显示在组合框中。
您可以使用复选框来选择一个或多个通过单击框中显示的选项。这些选项将带有标签,您可以清楚地看到所选的选项。
复选框可以具有两种状态-
您可以使用复选框在组合框中选择选项,以节省空间。在这种情况下,复选框也可以具有第三种状态-
混合,表示开和关状态的组合,在框中用黑点表示。这将显示出来,以表明带有复选框的组合框中的多个选择。
如下所示在用户窗体中插入复选框。
您可以使用选项按钮(也称为单选按钮)在有限的互斥选择集中进行单个选择。选项按钮通常包含在组框或框架中。
选项按钮由一个小圆圈表示。选项按钮可以具有以下两种状态之一-
您可以使用框架控件(也称为组框)将相关控件分组为一个可视单元。通常,将选项按钮,复选框或紧密相关的内容分组在框架控件中。
框架控件由带有可选标签的矩形对象表示。
插入标题为“选择”的框架。
在框架控件中插入两个带有标题“是”和“否”的选项按钮。选项“是”和“否”是互斥的。
您可以使用切换按钮指示状态(例如“是”或“否”)或模式(例如“开”或“关”)。单击该按钮时,将在启用状态和禁用状态之间切换。
在UserForm上插入一个切换按钮,如下所示-
单击功能区上的“运行”选项卡。
从下拉列表中选择运行Sub / UserForm。默认情况下,切换按钮将处于启用状态。
单击切换按钮。切换按钮将被禁用。
如果再次单击切换按钮,它将被启用。
您可以使用命令按钮来运行一个宏,该宏在用户单击时执行一些操作。您已经学习了如何在工作表上使用命令按钮来运行宏。
命令按钮也称为按钮。在用户窗体上插入命令按钮,如下所示-
ProjectCodes2.DropDown
单击命令按钮。组合框的下拉列表随即打开,因为它是您在代码中编写的操作。
您可以在用户窗体上插入类似于Excel选项卡的选项卡条。
您可以使用滚动条,通过单击滚动箭头或拖动滚动框来滚动一系列值。
通过在所需的位置上绘制在用户窗体上插入一个滚动条,并调整滚动条的长度。
TextBox2.Text = "Scrolling Values"
拖动滚动框。当您将其指定为滚动条滚动操作时,“文本–滚动值”将显示在文本框中。
您可以使用MsgBox()函数在单击某些内容时显示一条消息。它可以是准则或某些信息,也可以是警告或错误警报。
例如,当您开始滚动滚动框时,您可以显示一条消息,提示正在滚动值。
您可以使用显示特定消息的消息框图标显示。您有多个消息框图标可以满足您的目的-
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上使用的不同控件。选择控件,将它们分组(如果需要),并按照有意义的顺序将它们排列在用户窗体上。将所需的操作编写为与各个控件相对应的代码。
有关UserForm的示例,请参考此教程库中的VBA教程。