有时,您可能不得不反复收集其他人的信息. Excel VBA为您提供了一种处理此任务的简便方法 - UserForm .与您填写的任何其他表单一样,UserForm使其易于理解,将提供哪些信息. UserForm是用户友好的,提供的控件是不言自明的,并在必要时附加说明.
UserForm的主要优点是你可以节省你花在什么上的时间以及如何填写信息.
创建用户窗体
要创建用户窗体,请按以下步骤进行 :
单击功能区上的DEVELOPER选项卡.
单击Visual Basic.将打开工作簿的Visual Basic窗口.
单击插入,
从下拉列表中选择UserForm.
用户窗体出现在窗口的右侧.
了解UserForm
最大化UserForm.xlsx - UserForm1窗口.
您现在处于设计模式.您可以在UserForm上插入控件并为相应的操作编写代码.控件在ToolBox中可用. UserForm的属性位于"属性"窗口中. UserForm1(UserForm的标题)在Projects Explorer中的Forms下给出.
在属性窗口中将UserForm的标题更改为Project Report - Daily.
更改名称UserForm到ProjectReport.
更改将反映在UserForm,属性和项目资源管理器中.
ToolBox中的控件
UserForm将具有不同的组件.当您点击任何组件时,您将获得有关提供信息的方式和方式的说明,或者您将获得可供选择的选项(选项).所有这些都是通过UserForm的ToolBox中的ActiveX控件提供的.
Excel提供了两种类型的控件 - 表单控件和ActiveX控件.您需要了解这两种控件之间的区别.
表单控件
表单控件是与早期版本兼容的Excel原始控件Excel,从Excel 5.0开始.表单控件也设计用于XLM宏表.
您可以使用表单控件运行宏.您可以将现有宏分配给控件,或者写入或记录新宏.单击控件时,宏.您已经学习了如何从工作表中的窗体控件插入命令按钮来运行宏.但是,这些控件无法添加到UserForm.
ActiveX控件
可以在VBA UserForms上使用ActiveX控件. ActiveX控件具有广泛的属性,可用于自定义其外观,行为,字体和其他特征.
UserForm工具箱中有以下ActiveX控件 :
指针
标签
TextBox
ComboBox
ListBox
CheckBox
OptionButton
框架
ToggleButton
CommandButton
TabStrip
MultiPage
ScrollBar
SpinButton
图像
除了这些控件之外,Visual Basic还为您提供了MsgBox函数,可用于显示消息和/或提示用户执行操作.
在接下来的几个中部分,您将了解这些控件和MsgBox.然后,您将可以选择设计UserForm需要哪些控件.
标签
您可以使用标签进行识别目的是显示描述性文字,例如标题,标题和/或简要说明.
示例
TextBox
您可以使用矩形框的TextBox来键入,查看或编辑文本.您还可以将TextBox用作呈现只读信息的静态文本字段.
示例
列表框
您可以使用列表框显示列表用户可以选择的一个或多个文本项.使用列表框显示大量不同数量或内容的选项.
在UserForm上插入一个ListBox.
单击ListBox.
在ListBox的"属性"窗口中键入名称的ProjectCodes.
有三种类型的列表框和减号;
单选列表框 : 单选列表框只能选择一个.在这种情况下,列表框类似于一组选项按钮,但列表框可以更有效地处理大量项目.
多选列表框 : 多选列表框可以选择一个选项或连续(相邻)选项.
扩展选择列表框 : 扩展选择列表框允许一个选择,连续选择和不连续(或脱节)选择.
您可以选择其中一种类型列表框,从属性窗口.
右键单击UserForm.
从下拉列表中选择View Code. UserForm的代码窗口打开.
单击代码窗口右上角的"初始化".
在Private Sub UserForm_Initialize()下键入以下内容.
ProjectCodes.List = Array("Proj2016-1","Proj2016-2","Proj2016 -3","Proj20164","Proj2016-5")
单击功能区上的"运行"选项卡.
从下拉列表中选择Run Sub/UserForm.
接下来,您可以编写有关选择列表中项目的操作的代码.否则,您只需显示所选文本,即填写报告中的项目代码.
ComboBox
您可以使用 ComboBox 组合文本框和列表框以创建下拉列表框.组合框比列表框更紧凑,但要求用户单击向下箭头以显示项目列表.使用组合框从列表中只选择一个项目.
在UserForm上插入一个ComboBox.
单击ComboBox.
在ComboBox的"属性"窗口中键入ProjectCodes2作为Name.
右键单击UserForm.
从下拉列表中选择查看代码.
打开UserForm的代码窗口.
键入以下内容,如下所示.
ProjectCodes2.List = Array("Proj2016-1","Proj2016-2","Proj2016" -3","Proj20164","Proj2016-5")
单击功能区上的"运行"选项卡.
从下拉列表中选择Run Sub/UserForm.
单击向下箭头以显示项目列表.
单击所需项目,例如Project2016-5.选定的选项将显示在组合框中.
CheckBox
您可以使用复选框选择一个或多个通过单击框显示的选项.选项将有标签,您可以清楚地看到选择的选项.
复选框可以有两个状态 :
选中(打开),框中带刻度标记
清除(关闭),用清除框表示
您可以使用复选框选择组合框中的选项以节省空间.在这种情况下,复选框也可以具有第三个状态 :
混合,表示on和的组合关闭状态,用方框中的黑点表示.这将显示以指示组合框中的多个选项和复选框.
在UserForm中插入复选框,如下所示.
单击功能区上的"运行"选项卡.
从下拉列表中选择"运行Sub/UserForm".
单击所选选项的框.
OptionButton
您可以使用选项按钮(也称为单选按钮)在一组有限的互斥选项中进行单项选择.选项按钮通常包含在组框或框架中.
选项按钮由小圆圈表示.选项按钮可以具有以下两种状态之一 :
选中(打开),用圆圈中的点表示
清除(关闭),用空白表示
框架
您可以使用帧控件(也称为组框)将相关控件分组到一个可视单元中.通常,选项按钮,复选框或密切相关的内容在帧控件中分组.
框架控件由带有可选标签的矩形对象表示.
插入标题为"选择"的框架.
插入两个选项按钮框控件中带有"是"和"否"的标题.选项Yes和No是互斥的.
单击功能区上的"运行"选项卡.
从下拉列表中选择"运行Sub/UserForm" .
点击您选择的选项.
ToggleButton
您可以使用切换按钮来指示状态,例如是或否,或模式,例如打开或关闭.单击按钮时按钮在启用和禁用状态之间切换.
在UserForm上插入一个切换按钮,如下所示 :
单击功能区上的"运行"选项卡./p>
从下拉列表中选择Run Sub/UserForm.默认情况下,切换按钮将处于启用状态.
单击切换按钮.切换按钮将被禁用.
如果单击再次切换按钮,它将被启用.
CommandButton
您可以使用命令按钮运行宏,该宏在用户执行某些操作点击它.您已经学习了如何使用工作表上的命令按钮来运行宏.
命令按钮也称为按钮.在UserForm上插入一个命令按钮,如下所示 :
右键单击命令按钮.
在子Commandbutton1_click()中键入以下代码.
ProjectCodes2.DropDown
单击功能区上的"运行"选项卡.
从下拉列表中选择Run Sub/UserForm.
单击命令按钮.组合框的下拉列表打开,因为它是您在代码中编写的操作.
TabStrip
您可以在UserForm上插入类似于Excel标签的标签条.
ScrollBar
您可以使用滚动条滚动浏览一系列值,方法是单击滚动箭头或拖动滚动框.
插入滚动条UserForm上的栏,在所需位置绘制并调整滚动条的长度.
右键单击滚动条.
从下拉列表中选择查看代码.代码窗口打开.
在子ScrollBar1_Scroll()下添加以下行.
TextBox2.Text = "Scrolling Values"
单击功能区上的"运行"选项卡.
从下拉列表中选择Run Sub/UserForm.
拖动滚动框.文本 - 滚动值将显示在文本框中,因为您将其指定为滚动条滚动的操作.
MsgBox()
您可以使用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"
单击"运行"选项卡功能区.
从下拉列表中选择Run Sub/UserForm.
拖动滚动框.
您将连续获得以下消息框.
设计用户窗体
现在,您已了解了不同的控件在UserForm上使用.选择控件,根据需要对它们进行分组,并按照一些有意义的顺序将它们排列在UserForm上.将所需的操作编写为与相应控件对应的代码.
有关UserForm的示例,请参阅本教程库中的VBA教程.