vba控件常规使用UserForm基础_第1页
vba控件常规使用UserForm基础_第2页
vba控件常规使用UserForm基础_第3页
vba控件常规使用UserForm基础_第4页
vba控件常规使用UserForm基础_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vba控件常规使用UserForm 根底如何显示 UserForm以下是用于显示 UserForm编程语法是:UserFormName .Show要显示名为 UserForml, UserForm使用以下代码:UserForml.Show不显示它实际上还能加载UserForm装入内存.复杂UserForm可能需要几秒钟以显示.由于预先您能加载到内存,UserForm 可决定何时导致此开销.要加载到内存 UserForml不显示它,使用以下代码:Load UserForml假设要显示 UserForm,必须使用以前已显示 显示 方法.如何以暂时隐藏UserForm如果要暂时隐藏 UserForm

2、,使用隐藏方法.可能想要隐藏 UserForm如果应用程序涉及用户窗体之间移动.要隐藏UserForm,使用以下代码:UserForml.Hide如何从内存删除UserForm要从内存,删除 UserForm 使用 Unload 语句. 要卸载, 名为 UserForml,UserForm 使用以下代码:Unload UserForm1如果您卸载UserForm ,是与UserForm或者,是与UserForm上控件的事件过程中 例如,您单击 CommandButton 控件,您可以使用"我"关键字代替的 UserForm 名称. 将关键字用于卸载 UserForm, &q

3、uot; Me " 使用以下代码:Unload Me如何使用UserForm 事件支持许多预定义事件,可以附加到VBA过程.在事件发生时,该附加到事件过程运行.单个操作由用户执行可初始化多事件.之间最经常对 UserForm 使用事件是Initialize 事件、Click事件,和Terminate 事件.注意包含事件过程 Visual Basic模块可能称为"后面"UserForm模块.模块包含事件过程是不可见的VisualBasic编辑器ProjectMicrosoftInternetExplorer 窗口 Modules 集合中.您必须双击正文局部UserF

4、orm 以查看 UserForm 代码模块.如何捕获UserForm 事件要捕获UserForm事件,请根据以下步骤操作:1. Excel中创立新工作簿.2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .4. 双击以显示代码窗口对于 UserForm UserForm .模块,中键入如下代码:Private Sub UserForm_Click()Me.Height = Int(Rnd * 500)Me.Width = Int(Rnd * 750)End SubPrivate Sub UserFor

5、m_Initialize()Me.Caption = "Events Events Events!"Me.BackColor = RGB(10, 25, 100)End Sub5. Private Sub UserForm_Resize()msg = "Width: " & Me.Width & Chr(10) & "Height: " & Me.HeightMsgBox prompt:=msg, Title:="Resize Event" End SubPrivate Sub Us

6、erForm_QueryClose(Cancel As Integer, CloseMode As Integer)msg = "Now Unloading " & Me.CaptionMsgBox prompt:=msg, Title:="QueryClose Event" End SubPrivate Sub UserForm_Terminate()msg = "Now Unloading " & Me.Caption MsgBox prompt:=msg, Title:="Terminate Event

7、" End Sub6. 在运行菜单上,单击运行子过程/用户窗体.UserForm首先加载,时宏使用Initialize事件改为"事件事件事件!"和BackColor 属性以深蓝色的 UserForm Caption 属性.当您单击 UserForm,您初始化 Click事件. 调整 UserForm Click 事件. 因为您创立Resize事件,过程单击UserForm后收到两个消息框. 由于Click事件代码更改宽度属性和Height属性是UserForm Resize 事件发生两次.关闭UserForm初始化QueryClose事件.QueryClose事件

8、显示消息框包含标题为Initialize事件, 您赋予UserForm 代码中.可以使用时要执行特定的操作集如果用户关闭 UserForm QueryClose 事件.然后生成一个消息框,指出标题为UserForm是UserForm1 Terminate 事件.从内存中删除 UserForm 并返回到其原始状态标题为UserForm 后Terminate事件发生.如何预防UserForm关闭通过关闭按钮当您运行 UserForm,关闭 按钮添加到 UserForm 窗口的右上角.如果要防止UserForm 关闭通过关闭按钮,您必须捕获 QueryClose 事件.QueryClose事件Use

9、rForm是从内存中卸载之前发生.使用QueryClose事件CloseMode CloseMode参数来确定如何 UserForm关闭.vbFormControlMenu 值为 CloseMode CloseMode参数表示时,单击关闭按钮.要保持活动,UserForm将Cancel取消对 QueryClose 事件参数为True 0 要使用 QueryClose事件来预防UserForm关闭通过关闭按钮,请根据以下步骤:1. Excel中创立新工作簿.2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserFor

10、m .4. 将 CommandButton 控件添加到 UserForm .5. 双击以显示代码窗口对于 UserForm UserForm .在代码窗口,键入如下代码:Private Sub CommandButton1_Click()Unload MeEnd SubPrivate Sub UserForm_QueryClose(Cancel As Integer,CloseMode As6. Integer)IF CloseMode = vbFormControlMenu ThenCancel = TrueMe.Caption = "Click the CommandButton

11、 to close Me!"End IfEnd Sub7. 在运行菜单上,单击运行子过程/用户窗体.当您单击关闭按钮UserForm未关闭.您必须单击CommandButton 控件关闭 UserForm.注意:代码包含在本文中不包含影响所有属性和对控件事件的例如.如果您不得不,请使用属性窗口要查看可供控件属性的列表.要在 视图 菜单上,查看列表的属性,请单击属性窗口 .如何使用设计模式来编辑控件在设计模当您使用"VisualBasic编辑器来设计一个对话框,使用设计模式式,您可编辑控件和可更改属性在属性窗口UserForm 上的限制.假设要显示属性窗口,在 视图 菜单上,

12、单击 属性窗口 .当您处在设计模式 注意 控件不响应与事件. 当您运行一个对话框, 显示方 式,用户看到它,程序处于运行模式. 当UserForm 是从内存中卸载将不会 保存更改,对运行模式中控件的属性.注意 控件请回复到事件在运行模式.如何引用UserForm 上控件如何您引用控件编程取决VisualBasic模块表运行代码的类型.如果代码从常规模块,运行以下语法是:=值例如,如果要设置名为 TextBox , 名为到值是 Bob , UserForml UserForm上TextBox控件的Text属性使用以下代码:如果代码是通过事件的控件或者通过UserForm,启动过程中是您不需要引用

13、名为UserForm. 而,使用以下代码:TextBoxl.Text = "Bob"当向对象,附加代码代码附加到之一为对象事件.众多,本文例如中, 将代码附加到Click事件是CommandButton 对象.标签控件标签控件主要用于描述UserForm 上其他控件. 运行UserForm 时Label控件不能编辑由用户.使用Caption 属性到设置或返回一个Label控件中文本.用于格式化Label控件其他常用属性包括字体属性和ForeColor属性.如何使用WITH语句设置Label控件格式要使用WITH语句来更改属性的Label控件,请根据以下步骤:1. 启动Exc

14、el,并翻开新空白工作簿.2. 在工具菜单,指向宏,然后单击VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入UserForm UserForm .4. 将Label控件添加到 UserForm .5. 将 CommandButton 控件添加到 UserForm .6. 双击以翻开代码窗口对于UserForm CommandButton 控件.在代码窗口,为 CommandButton 1 Click事件键入以下代码:Private Sub CommandButton1_Click()With Label1'Set the text of the label.Ca

15、ption = "This is Label Example 1"'Automatically size the label control.AutoSize = True7. .WordWrap = False'Set the font used by the Label control.Font.Name = "Times New Roman".Font.Size = 14.Font.Bold = True'Set the font color to blue.ForeColor = RGB(0, 0, 255)End Wit

16、hEnd Sub8. 在运行菜单上,单击运行子过程/用户窗体.9. 单击 CommandButton .文本粗 TimesNewRoman 用字体大小是 14中Label控件上显示 "Thisis标签例如1 " oTextBox 控件TextBox控件经常用于收集来自用户输入.Text属性包含项,TextBox 控件中进行如何使用TextBox控件来验证密码如果您设置 TextBox 控件,PasswordChar 属性的它成为 "masked - 编辑控件.由字符指定可视取代TextBox控件中键入的每个字符.要使用TextBox控件来验证密码,请根据以下步骤:

17、1. 启动Excel,并翻开新空白工作簿.2. 在工具菜单,指向 宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .4. 将 TextBox 控件添加到 UserForm.5. 在视图菜单上,单击属性以显示属性窗口.对TextBox控件,PasswordChar 属性中键入 *6.注意您正将值改为星号.7. 将 CommandButton 控件添加到 UserForm .8. 双击以翻开代码窗口对于UserForm CommandButton 控件.在代码窗口,为CommandButton 1 Click 事件键入以下代

18、码:Private Sub CommandButton1_Click()If TextBoxl.Text <> "userform" ThenMsgBox "Password is Incorrect. Please reenter."TextBoxl.Text ="" TextBoxl.SetFocus9.ElseMsgBox "Welcome!"Unload Me End If End Sub10. 在运行 菜单上,单击 运行子过程/用户窗体.11. 在 TextBox 控件中键入密码 userfo

19、rm .12. 单击 CommandButton 控件.对于本例,密码是"userform ".如果您键入正确密码,您收到一个消息框, 指出密码不正确,然后重新键入密码可去除TextBox控件,并且. 当您键入正确密码,收到欢送消息,并UserForm 关闭.CommandButton 控件您可以使用CommandButton 限制来启动VBA过程.VBA过程通常附加到CommandButton 控件的 Click 事件.要使用 CommandButton 控件 Click事件发生,时,运行过程请根据步骤:1. 启动Excel,并翻开新空白工作簿.2. 在工具菜单,指向宏,

20、然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .4. 将 CommandButton 控件添加到 UserForm .5. 双击以显示代码窗口对于 UserForm CommandButton 控件.在代码窗口,键入如下代码:Private Sub CommandButton1_Click() red = Int(Rnd * 255)6. green = Int(Rnd * 255)blue = Int(Rnd * 255) CommandButtonl.BackColor = RGB(red, green, blue)

21、End Sub7. 在运行菜单上,单击运行子过程/用户窗体.CommandButton 1控件的背景颜色更改每次您单击它.ListBox 控件ListBox控件的目的是为了向用户显示要选择的工程列表.您可以存储为Excel工作表上 ListBox 控件工程列表.使用 RowSource 属性来填充工作表上ListBox 控件与范围的单元格.ListBox控件在使用 MultiSelect属性,时可设置为接受多重选择.如何从ListBox控件获取当前选定项使用Value属性的ListBox控件可返回当前选定项.要返回单项选择ListBox控件,中当前选定项请根据以下步骤操作:1. 启动Excel

22、,并翻开新空白工作簿.2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值.3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.5.将ListBox控件添加到 UserForm6. 双击ListBox控件以显示代码窗口对 ListBox控件.在代码窗口,为ListBox 1 Click 事件键入以下代码:7. Private Sub ListBox1_Click()MsgBox ListBox1.Value End Sub8. 在运行菜单上,单击运行子过程/用户窗体.当单击列表,中的工程与当前选定工程将出现一个消息框.如何获取多项选择择ListB

23、ox控件中选定项确定多项选择择ListBox控件,中所选工程必须循环列表,中所有工程并再查询Selected属性.要返回多项选择择,ListBox控件中当前选定项请根据以下步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 在单元格 A 1: A 5 Sheet, 键入了您要用于填充 ListBox控件值.3. 在工具菜单,指向宏,然后单击VisualBasic编辑器.4. 在插入 菜单上,单击要在工作簿中插入 UserForm UserForm .5. 将ListBox控件添加到 UserForm.6. 在视图菜单上,单击属性以查看属性窗口.键入值,对于以下ListBox控件属性表示:

24、 Property Value 7. MultiSelect 1 - frmMultiSelectMulti RowSource Sheet1!A1:A88. 将 CommandButton 控件添加到 UserForm .9. 双击以显示代码窗口对于UserForm CommandButton 控件.在代码窗口,为 CommandButton 1 Click 事件键入以下代码:Sub CommandButton1_Click () 'Loop through the items in the ListBox.For x = 0 to ListBox1.ListCount - 1

25、9;If the item is selected.10. If ListBox1.Selected(x) = True Then'display the Selected item.MsgBox ListBox1.List(x) End IfNext x End Sub11. 在运行 菜单上,单击 运行子过程/用户窗体.12. 列表中选择一个或多个工程.13. 单击 CommandButton 1 .单击CommandButton 1 , 后,在ListBox控件中选择每个工程显示在一个单独的消息框.UserForm 在消息框中,出现所有选定项后自动关闭.如何使用RowSource属

26、性来填充工作表上以ListBox 控件要使用RowSource属性来填充工作表,上ListBox控件从范围的单元格请按照以下步骤:1. 启动Excel,并翻开新空白工作簿.2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值.3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .5. 将ListBox 控件添加到 UserForm.6. 将 CommandButton 控件添加到 UserForm .7. 双击以显示代码窗口对于 UserForm CommandButt

27、on 控件.在代码窗口,为 CommandButton 1 Click 事件键入以下代码:Private Sub CommandButton1 Click()8.ListBox1.RowSource = "=Sheet1!A1:A5End Sub在运行菜单上,单击运行子过程/用户窗体.9.注意ListBox 1 不包含任何值.10. 单击 CommandButton 1.ListBox 1填充单元格 A 1: A 5 Sheet 中有值.如何填充一个ListBox控件数组中有值下例显示您如何填充以数组ListBox控件.数组中每次为 ListBox控件项必须分配值. 通常,此过程要求

28、您使用循环结构,如For aNext循环.要填充以数组,ListBox控件请根据以下步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .5.在插入菜单上,单击要插入模块表模块.在代码窗口,键入如下代码:Sub PopulateListBox() Dim MyArray As Variant Dim Ctr As Integer MyArray = Array("Apples", "Oranges", "

29、;Peaches", "Bananas", 6."Pineapples")For Ctr = LBound(MyArray) To UBound(MyArray)Next UserForm1.Show End Sub7.然后单击 运行在工具菜单上,、"PopulateListBox , 和宏.PopulateListBox过程建立简单数组,并数组中通过使用AddItem方法添加到ListBox控件工程. 然后,UserForm 出现.如何使用工作表上水平的单元格区域来填充一个ListBox控件如果将ListBox控件的RowSourc

30、e 属性到水平区域的单元格,ListBox控件中第一个值只会出现.要通过使用AddItem方法,ListBox控件从水平区域的单元格填充请根据以下 步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 在单元格A1:E1 Sheet,键入了您要用于填充 ListBox控件值.3. 在工具菜单,指向 宏,然后单击 VisualBasic编辑器.4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .5. 将ListBox 控件添加到 UserForm.6. 在插入菜单上,单击要插入模块表 模块.在代码窗口,键入如下代码:Sub PopulateListWithHori

31、zontalRange() For Each x In Sheet1.Range("A1:E1") 7.Next UserForm1.Show End Sub8.然后单击 运行 在 工具 菜单上,、"PopulateListWithHorizontalRange , 和 宏在单元格 A 1: E 5 Sheet,将值添加到 ListBox 1 一次循环宏过程.A 1: E 5 单元 注意ListBox 1 与不定 Sheet 1 上.如何从ListBox控件绑定到多列的数据返回多个值您可以格式ListBox控件以显示多个列的数据.这意味着ListBox控件, 每个

32、列表行上显示多个工程.要多值列表,中选定项收益请根据以下步骤操作:1. 启动Excel,并翻开新空白工作簿.Sheet由该单元格中键入以下数据:A 1:年B 1:区域C1:销售2. A 2: 1996 B:北美 C2: 1403 : 1996 B 3:南非 C 3: 210A 4: 1997 B4: 北美 C 4: 190A5: 1997 B 5: 南非 C 5: 1953. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.4. 在插入菜单上,单击要在工作簿中插入UserForm UserForm5. 将Label控件添加到 UserForm .6. 将ListBox 控件添加到

33、UserForm.7. 右击ListBox ,然后单击属性.键入或选择值,都表示为以下属性对ListBox控件与下表中列出:Property Value8. BoundColumn 1ColumnCount 3ColumnHeads TrueRowSource Sheet1!A2:A59.10.双击ListBox控件以显示代码窗口对ListBox控件.在代码窗口,键入如下代码:Private Sub ListBox1_Change()Dim SourceData As RangeDim Val1 As String, Val2 As String, Val3 As StringSet Sour

34、ceRange = Range(ListBox1.RowSource)Val1 = ListBox1.ValueVal2 = SourceRange.Offset(ListBox1.ListIndex, 1).Resize(1,1).ValueVal3 = SourceRange.Offset(ListBox1.ListIndex, 2).Resize(1,1).ValueLabell.Caption = Vali & 山'& Val2 & 山'& Val3End Sub11.在运行 菜单上,单击 运行子过程/用户窗体当您单击ListBox控件,

35、中一个条目标签将更改为显示该条目中所有三个项目.如何从绑定到工作表 ListBox控件中删除所有工程要从ListBox控件绑定到工作表,删除所有工程去除,是存储在 RowSource属性值. 要从ListBox控件绑定到工作表,删除工程请根据以下步骤:1. 启动Excel,并翻开新空白工作簿.2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值.3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.4. 在插入菜单上,单击要在工作簿中插入UserForm UserForm .5. 将ListBox 控件添加到 UserForm.6. 用鼠标右键单击

36、 ListBox控件,然后单击属性.7. 在 RowSource 属性,键入 Sheet 1 A 1: A 5!8. 将 CommandButton 控件添加到 UserForm .9. 双击以显示代码窗口为CommandButton 控件CommandButton 控件.Sub CommandButton1_Click()ListBox1.RowSource =""End Sub在代码窗口,为CommandButton 1 Click 事件键入以下代码:10.Private Sub CommandButton1Click()在运行菜单上,单击运行子过程/用户窗体11.Li

37、stBox 控件, 添加到 UserForm 具有值, 您输入 Sheet填充.12.单击 CommandButton 1从ListBox 1中删除所有工程.如何从不绑定到工作表 ListBox 控件中删除所有工程没有没有单个 VBA命令如果没有绑定到工作表列表,从ListBox控件删除所有工程.要从ListBox控件从VisualBasic数组,填充删除所有工程请根据下列步骤:1.启动Excel,并翻开新空白工作簿.2.在工具菜单,指向宏,然后单击 VisualBasic编辑器3.在 插入 菜单上,单击要在工作簿中插入UserForm UserForm4. 将ListBox控件添加到 Use

38、rForm .5. 在插入菜单上,单击要插入模块表 模块.在代码窗口,键入如下代码:Sub PopulateListBox()Dim MyArray As Variant Dim Ctr As Integer MyArray = Array("Apples", "Oranges", "Peaches", "Bananas", 6."Pineapples")For Ctr = LBound(MyArray) To UBound(MyArray)NextUserForm1.ShowEnd Sub7.

39、 将 CommandButton 控件添加到 UserForm .8. 双击以显示代码窗口为 CommandButton 控件CommandButton 控件.在代码窗口,为CommandButton 1 Click 事件键入以下代码:Private Sub CommandButton1_Click()For i = 1 To ListBoxl.ListCount 9.ListBoxl.Removeltem 0 Next IEnd Sub然后单击 运行 在 工具 菜单上,、"PopulateListBox , 和宏.10.ListBox 控件填充,并再出现 UserForm .11.

40、 单击 CommandButton 1.从ListBox 1中删除所有工程.ComboBox 控件您可以使用 ComboBox控件作为在下拉列表框中,或组合框其中您可选择列表中值或键入新值.Style属性决定如果ComboBox控件作为下拉列表框或 组合框.注意前述对ListBox控件中所有例如也能应用到ComboBox 控件,除例如获取多项选择择ListBox控件中选定项"如何"如何向列表添加新工程如果ComboBox 控件未绑定到工作表键入值是未在列表中ComboBox控件,时可能要向列表添加新值.要添加新值,如果ComboBox 控件未绑定到工作表,ComboBox

41、控件中键入请根据下 列步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在 插入 菜单上,单击要在工作簿中插入 UserForm UserForm .4. 将 ComboBox 控件添加到 UserForm.5. 在插入菜单上,单击要插入模块表 模块.在代码窗口,键入如下代码:Sub PopulateComboBox()Dim MyArray As VariantDim Ctr As IntegerMyArray = Array("Apples", "Oranges", "

42、;Peaches", "Bananas",6. "Pineapples")For Ctr = LBound(MyArray) To Ubound(MyArray)NextUserForm1.ShowEnd Sub7. 将 CommandButton 控件添加到 UserForm .8. 双击以显示代码窗口为 CommandButton 控件CommandButton 控件.在代码窗口,为CommandButton 1 Click 事件键入以下代码:Private Sub CommandButton1_Click()Dim listvar As

43、Variantlistvar = ComboBox1.ListOn Error Resume Next'If the item is not found in the list.9.If IsError(WorksheetFunction.Match(ComboBox1.Value, listvar, 0) Then'add the new value to the list.ComboBox1.AddItem ComboBox1.ValueEnd IfEnd Sub然后单击 运行 在 工具 菜单上,、"PopulateListBox , 和宏.10.填充组合框控件,

44、并再出现 UserForm.11. ComboBox 控件,中键入 Mangoes (或任何值尚未是列表中).12.单击 CommandButton 1现在您键入新值将在列表末尾.如何向列表添加新工程如果 ComboBox 控件绑定到工作表当用户键入值是未在列表中ComboBox控件,可能需要新值添加到列表.要添加该列表,ComboBox控件中键入新值请根据以下步骤操作:1.2.3.启动Excel,并翻开新空白工作簿单元格 A 1: A 5 Sheet,中键入值与要用于填充组合框 控件选择单元格 A 1: A 5 Sheet 1 上插入菜单上指向名称,然后单击定义在工作簿中名称框中,键入Lis

45、tRange ,然后单击确定.这创立ListRange定义名称.使用定义名称ListRange 将ComboBox 控件的RowSource 属性绑定到工作表.5. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.6. 在 插入 菜单上,单击要在工作簿中插入UserForm UserForm .7. 将 ComboBox 控件添加到 UserForm.8. 对于 ComboBox 1 ,属性中键入与 RowSource 属性 ListRange Sheet 1 !9. 将 CommandButton控件添加到 UserForm .10. 双击以显示代码窗口为 CommandButt

46、on 控件 CommandButton 控件在代码窗口,为CommandButton 1 Click事件键入以下代码:Private Sub CommandButton1_Click()Dim SourceData As RangeDim found As ObjectSet SourceData = Range("ListRange")Set found = Nothing'Try to find the value on the worksheet.Set found = SourceData.Find(ComboBox1.Value)'If the i

47、tem is not found in the list.If found Is Nothing Then'redefine ListRange.Add the new item to the end of the list on the worksheet.=ComboBox1.ValueReset the list displayed in the ComboBox.ComboBox1.RowSource =Range("listrange").Address(external:=True)End IfEnd Sub在运行菜单上,单击运行子过程/用户窗体12.U

48、serForm 出现在 Sheet 1 .13. ComboBox 控件,中键入值尚未列表中.14. 单击 CommandButton 1 .ComboBox控件中键入新工程添加到列表,并范围扩展到包括单元A1:A6 ,ComboBox控件绑定到列表.当出现UserForm 如何显示ComboBox 控件列表有时,可能非常有用以UserForm 首次出现时显示 ComboBox控件的列表.以下例如使用是 UserForm Activate 事件.要显示的ComboBox控件,列表请根据以下步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 单元格 A 1: A 5 Sheet,中键入值与

49、要用于填充 组合框 控件.3. 在工具菜单,指向宏,然后单击VisualBasic编辑器.4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .5. 将 ComboBox 控件添加到 UserForm.6. 对于 ComboBox 1 , 属性 中键入 Sheet 1 与 RowSource 属性 A 1: A 5 !7. 双击以显示代码窗口对于 UserForm UserForm .在代码窗口,为CommandButtonClick 事件键入以下代码:Private Sub UserForm Activate.8.ComboBox1.DropDownEnd Sub9

50、. 在运行菜单上,单击运行子过程/用户窗体.UserForm, Sheet 1上出现,您可看到该列表对于ComboBox 1.当其他ComboBox 控件中进行选择如何显示一个ComboBox 控件列表要,ComboBox控件中进行选择时自动显示一个ComboBox控件的列表请按照以下步骤操作:1. 启动Excel,并翻开新空白工作簿.2. 在单元格 A 1: A 10 Sheet,输入值与要用于填充 组合框 控件.3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.4. 在插入菜单上,单击模块.5. 在代码窗口为模块,键入如下代码:Sub DropDown_ComboBox()

51、End Sub6. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .7. 将 ComboBox 控件添加到 UserForm.8. 对于 ComboBox 1 , 属性 中键入 Sheet 1 与 RowSource 属性 A 1: A 5 !9. 双击要翻开代码窗口对 ComboBox 控件ComboBox 控件.在代码窗口对 ComboBox 控件,为 ComboBox Click 事件键入以下代码:Private Sub ComboBox1_Click()Application.OnTime Now, "DropDown_ComboBox"E

52、nd Sub11. 添加到 UserForm 二 ComboBox 控件.12. 对于 ComboBox2 ,属性中键入 Sheet 1 与 RowSource 属性 A6:A10 !13. 在运行菜单上,单击运行子过程/用户窗体.对于ComboBox2 列表单击,ComboBox 1列表中的工程时将自动出现.框架控件使用Frame控件来分组 UserForm 中逻辑相关项.框架控件经常用于分组OptionButton 控件.如何循环Frame控件上的所有控件要使用Eacha Next For循环来访问 框架 控件,中所有控件请根据以下步骤:1. 启动Excel,并翻开新空白工作簿.2. 在工

53、具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .4. 将Frame 控件添加到 UserForm.OptionButton 控件添加到 Frame控件.5. 重复此步骤向 Frame控件中添加两个详细 OptionButton 控件.6. 双击要翻开代码窗口对Frame 控件Frame控件.在代码窗口,为 框架Click事件键入以下代码:Private Sub Frame1_Click()Dim Ctrl As Control7.For Each Ctrl In Frame1.ControlsCtrl.En

54、abled = Not Ctrl.EnabledNextEnd Sub8. 在运行菜单上,单击运行子过程/用户窗体.9. 在 UserForm,单击 Frame 控件.首次您单击框架控件,Frame控件中所有控件是不可用.如果再次,单击Frame控件控件可再次.OptionButton 控件可使用OptionButton 控件组进行一个选择的选项组中.使用以下技术到组OptionButton 控件之一:? 框架控件? GroupName 属性注意On值,是值,和True值说明已选中一个OptionButton . Off值、无值,和False 值说明未选中 OptionButton 攻击.如何

55、确定当OptionButton控件位于Frame控件被选中OptionButton 控件通过使用Frame控件,OptionButtons 控件分组时您可以确定通过循环Frame 控件中所有控件并检查Value 属性的每个控件是选定OptionButton控件.要确定所选,OptionButton控件请根据以下步骤:1. 启动Excel,并翻开新空白工作簿.2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器.3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm .4. 将Frame控件添加到 UserForm.OptionButton 控件添加到 Fram

56、e控件.5.重复此步骤向 Frame控件中添加两个详细 OptionButton 控件.6. 添加一个 CommandButton 控件UserForm 之外 Frame 控件上.7. 双击以显示代码窗口对于UserForm CommandButton 控件.在代码窗口,为CommandButton 1 Click事件键入以下代码:Private Sub CommandButton1_Click()For Each x In Frame1.Controls8.If x.Value = True ThenMsgBox x.CaptionEnd IfNextEnd Sub9. 在运行菜单上,单击运

57、行子过程/用户窗体.10. UserForm , 中一个 OptionButton 控件,依次 CommandButton 1将出现一个消息框包含当前选定OptionButton控件的题注.如何确定所选OptionButton 控件对以下例如目的是为了确定Group1中选定OptionButton控件.假设要创立具有两个OptionButton 控件组,UserForm 请根据以下步骤:1.启动Excel,并翻开新空白工作簿.2.在工具菜单,指向宏,然后单击VisualBasic编辑器.3.在插入菜单上,单击要在工作簿中插入UserForm UserForm4.将Frame控件添加到 UserForm .Frame控件中添加一个 OptionButton 控件.5.重复此步骤向 Frame控件中添加两个详细 OptionButton 控件.6.对于每个 OptionButton 控件,在GroupName 属性键入Group1 .7.重复步骤4和5以创立包含三个 OptionButton 控件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论