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

下载本文档

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

文档简介

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

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

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

4、事件要捕获UserForm事件,请按照下列步骤操作:3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 双击以显示代码窗口对于 UserForm UserForm 。模块,中键入如下代码:Private Sub UserForm_Click()Me.Height = Int(Rnd * 500)Me.Width = Int(Rnd * 750)End SubPrivate Sub UserFormn itialize()Me.Captio n = Eve nts Eve nts Eve nts!Me.BackColor = RGB(10, 25, 100)En

5、d SubPrivate Sub UserForm_Resize()msg = Width: & Me.Width & Chr(10) & Height: & Me.Height5.MsgBox prompt:=msg, Title:=Resize Eve ntEnd SubPrivate Sub UserForm_QueryClose(Ca ncel As In teger, CloseMode AsIn teger)msg = Now Unloading & Me.CaptionMsgBox prompt:=msg, Title:=QueryClose Eve ntEnd SubPriva

6、te Sub UserForm_Term in ate()msg = Now Unloading & Me.CaptionMsgBox prompt:=msg, Title:=Termi nate Eve ntEnd Sub5. 在运行菜单上,单击运行子过程/用户窗体。UserForm 首先加载,时宏使用Initialize事件改为事件事件事件!和BackColor属 性以深蓝色的 UserForm Captio n 属性。当您单击 UserForm,您初始化 Click事件。调整UserForm Click 事件。因为您创建Resize事件,过程单击UserForm 后收到两个消息框。因为C

7、lick事件代码更改宽度属性和 Height属性是 UserForm Resize 事件发生两次。关闭UserForm 初始化 QueryClose 事件。QueryClose 事件显示消息框包含标题为Initialize事件,您赋予UserForm代码中。可以使用时要执行特定的操作集如果用户关 闭 UserForm QueryClose 事件。然后生成一个消息框,指出标题为UserForm是UserForml Terminate 事件。从内存中删除UserForm并返回到其原始状态标题为UserForm后Terminate事件发生。如何防止UserForm关闭通过关闭按钮当您运行UserFo

8、rm,关闭 按钮添加到UserForm 窗口的右上角。如果要防止UserForm关闭通过关闭按钮,您必须捕获QueryClose事件。QueryClose事件UserForm是从内存中卸载之前发生。CloseMode CloseMode 参数来确定如何 UserForm关闭使用QueryClose事件 vbFormC on trolMe nu 值为CloseMode CloseMode 参数表示时, 单击关闭按钮。要保持活动,UserForm 将 Can cel取消对QueryClose 事件参数为 True 。 要使用 QueryClose 事件来防止 关闭通过关闭按钮,请按照下列步骤:Ex

9、cel中创建新工作簿。UserForm1.2.在工具菜单,指向宏,然后单击 VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserForm UserForm4.将 CommandButton控件添加到 UserForm。5.双击以显示代码窗口对于UserForm UserForm在代码窗口,键入如下代码:6.Private Sub Comma ndButt on 1_Click()Un load MeEnd SubPrivate Sub UserForm_QueryClose(Ca ncel As In teger, CloseMode AsIn teger)IF Clo

10、seMode = vbFormC on trolMe nu The nCan cel = TrueMe.Caption = Click the CommandButton to close Me!End IfEnd Sub7.在 运行 菜单上,单击 运行子过程/用户窗体。当您单击关闭按钮 UserForm 未关闭。 您必须单击 CommandButton 控件关闭UserForm注意:代码包含在本文中不包含影响所有属性和对控件事件的示例。 如果您不得不,请 使用属性窗口要查看可供控件属性的列表。 要在视图菜单上,查看列表的属性,请单击 属性窗口 。如何使用设计模式来编辑控件当您使用Visual

11、Basic编辑器来设计一个对话框,使用设计模式。在设计模式,您可编 辑控件和可更改属性在属性窗口 UserForm 上的控制。 若要显示属性窗口,在 视图 菜 单上,单击属性窗口 。当您处在设计模式 注意 控件不响应与事件。 当您运行一个对话框, 显示方式,用户看 到它,程序处于运行模式。 当UserForm是从内存中卸载将不会保留更改, 对运行模式 中控件的属性。注意 控件请回复到事件在运行模式。如何引用UserForm 上控件如何您引用控件编程取决 VisualBasic模块表运行代码的类型。如果代码从常规模块,运 行以下语法是:=值例如,如果要设置名为 TextBox ,名为到值是 Bo

12、b , UserForml UserForm 上TextBox 控件的Text属性使用以下代码:如果代码是通过事件的控件或者通过UserForm,启动过程中是您不需要引用名为UserForm。 而,使用以下代码:TextBoxl.Text = Bob当向对象,附加代码代码附加到之一为对象事件。众多,本文示例中,将代码附加到Click 事件是 CommandButton 对象。标签控件标签控件主要用于描述 UserForm上其他控件。运行UserForm时Label控件不能编 辑由用户。使用Caption属性到设置或返回一个 Label控件中文本。用于格式化 Label控件其他常用属性包括字体属

13、性和ForeColor属性。如何使用 WITH语句设置Label控件格式要使用 WITH语句来更改属性的Label控件,请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将Label控件添加到 UserForm。5. 将 CommandButton 控件添加到 UserForm。6. 双击以打开代码窗口对于 UserForm CommandButton 控件。在代码窗口,为CommandButton 1 Click 事件键入下列代码:P

14、rivate Sub Comma ndButt on 1_Click()With Label1Set the text of the label.7.Capti on = This is Label Example 1Automatically size the label con trol.AutoSize = True .WordWrap = FalseSet the font used by the Label con trol.Fon t.Name = Times New Roma n.Fo nt.Size = 14.Fon t.Bold = TrueSet the font colo

15、r to blue.ForeColor = RGB(0, 0, 255)End WithEnd Sub8. 在运行菜单上,单击运行子过程/用户窗体。9. 单击 CommandButton 。文本粗 TimesNewRoman 用字体大小是14中Label控件上显示Thisis标签示例1IITextBox 控件TextBox控件经常用于收集来自用户输入。Text属性包含项,TextBox 控件中进行。如何使用TextBox控件来验证密码如果您设置 TextBox 控件,PasswordChar属性的它成为masked -编辑控件。由 字符指定可视取代 TextBox控件中键入的每个字符。 要使用

16、TextBox控件来验证密码, 请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将 TextBox 控件添加到 UserForm。5. 在视图菜单上,单击属性以显示属性窗口。对TextBox控件,PasswordChar 属性中键入 *6.注意您正将值改为星号。6. 将 CommandButton 控件添加到 UserForm。7. 双击以打开代码窗口对于UserForm CommandButton 控件在代码窗口,为CommandB

17、utton 1 Click 事件键入下列代码:Private Sub Comma ndButt on 1_Click()If TextBox1.Text userform The nMsgBox Password is In correct. Please ree nter.TextBox1.Text =TextBox1.SetFocus9.ElseMsgBox Welcome! Un load Me End If End Sub8. 在 运行 菜单上,单击 运行子过程/用户窗体对于本例,密码是userform 。如果您键入正确密码,您收到一个消息框, 指出密码不 正确,然后重新键入密码可清除

18、 TextBox控件,并且。当您键入正确密码,收到欢迎消 息,并 UserForm 关闭。Comma ndButt on控件您可以使用CommandButton 控制来启动VBA过程。VBA过程通常附加到CommandButton 控件的Click事件。 要使用 CommandButton 控件 Click事件发生, 时,运行过程请按照步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将 CommandButton 控件添加到 UserForm。

19、5. 双击以显示代码窗口对于UserForm CommandButton 控件。在代码窗口,键入如下代码:Private Sub Comma ndButto n1_Click()red = Int(Rnd * 255)6. green = In t(R nd * 255)blue = Int(Rnd * 255)Comma ndButto nl.BackColor = RGB(red, gree n, blue)End Sub7. 在运行菜单上,单击运行子过程/用户窗体。Comma ndButt on 1 控件的背景颜色更改每次您单击它。ListBox 控件ListBox控件的目的是为了向用户

20、显示要选择的项目列表。您可以存储为Excel工作表上ListBox控件项目列表。 使用RowSource 属性来填充工作表,上ListBox控件与范 围的单元格。ListBox控件在使用MultiSelect属性,时可设置为接受多重选择。如何从ListBox控件获取当前选定项使用Value属性的ListBox控件可返回当前选定项。要返回单项选择 ListBox控件,中当前选定项请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值。3. 在工具菜单,指向 宏,然后单击 VisualBasic编辑器。4

21、. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。5. 将ListBox 控件添加到 UserForm。6. 双击ListBox控件以显示代码窗口对 ListBox控件。7. 在代码窗口,为ListBox 1 Click 事件键入下列代码:Private Sub ListBox1_Click()MsgBox ListBox1.ValueEnd Sub8. 在运行菜单上,单击运行子过程/用户窗体。当单击列表,中的项目与当前选定项目将出现一个消息框。如何获取多选择ListBox控件中选定项确定多选择ListBox控件,中所选项目必须循环列表,中所有项目并再查询 Sele

22、cted属 性。要返回多选择,ListBox控件中当前选定项请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。5. 将ListBox控件添加到 UserForm。6. 在视图菜单上,单击属性以查看属性窗口。键入值,对于下列ListBox控件属性表示:Property Value7. MultiSelect 1 - frmMultiSelectMultiR

23、owSource Sheet1!A1:A88. 将 CommandButton 控件添加到 UserForm 。9. 双击以显示代码窗口对于UserForm CommandButton 控件。在代码窗口,为 CommandButton 1 Click 事件键入下列代码:Sub Comma ndButto n1_Click ()Loop through the items in the ListBox.For x = 0 to ListBox1. ListCou nt - 1If the item is selected.10. If ListBox1.Selected(x) = True Th

24、e ndisplay the Selected item.MsgBox ListBox1. List(x)End IfNext xEnd Sub11. 在运行 菜单上,单击运行子过程/用户窗体。12. 列表中选择一个或多个项目。13. 单击 CommandButton 1 。单击CommandButton 1 ,后,在ListBox控件中选择每个项目显示在一个单独的消息 框。UserForm在消息框中,出现所有选定项后自动关闭。如何使用RowSource属性来填充工作表上以ListBox 控件要使用RowSource属性来填充工作表,上ListBox控件从范围的单元格请按照下列步骤:2. 在单

25、元格 A 1: A 5 Sheet,键入了您要用于填充 ListBox控件值3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm5. 将ListBox控件添加到 UserForm。6. 将 CommandButton 控件添加到 UserForm 。7. 双击以显示代码窗口对于UserForm CommandButton 控件。在代码窗口,为CommandButton 1 Click事件键入下列代码:Private Sub Comma ndButto n1_Click()8. ListBox1.RowSo

26、urce = =Sheet1!A1:A5End Sub在运行 菜单上,单击 运行子过程/用户窗体。9.注意ListBox 1 不包含任何值。10.单击 CommandButton 1ListBox 1填充单元格 A 1: A 5 Sheet中有值。如何填充一个ListBox控件数组中有值下例显示您如何填充以数组ListBox控件。数组中每次为ListBox控件项必须分配值。通常,此过程要求您使用循环结构,如For aNext循环。要填充以数组,ListBox控件请按 照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3.

27、 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将ListBox控件添加到 UserForm。5. 在插入菜单上,单击要插入模块表模块。在代码窗口,键入如下代码:Sub PopulateListBox()Dim MyArray As Varia ntDim Ctr As In tegerMyArray = Array(Apples, Ora nges, Peaches, Ba nan as,6. Pi neap ples)For Ctr = LBou nd(MyArray) To UBou nd(MyArray)NextUserForm1.ShowEnd Su

28、b7.然后单击 运行在工具菜单上,、PopulateListBox , 和宏。PopulateListBox 过程建立简单数组,并数组中通过使用 AddItem 方法添加到ListBox 控件项目。然后,UserForm出现。如何使用工作表上水平的单元格区域来填充一个ListBox控件如果将ListBox控件的RowSource属性到水平区域的单元格,ListBox控件中第一个值 只会出现。要通过使用Additem方法,ListBox控件从水平区域的单元格填充请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格A1:E1 Sheet,键入了您要用于填充 ListBox控

29、件值。3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。5. 将ListBox控件添加到 UserForm。6. 在插入菜单上,单击要插入模块表 模块。在代码窗口,键入如下代码:Sub PopulateListWithHorizo ntaIRa nge()For Each x In Sheet1.Ra nge(A1:E1)7.NextUserForml.ShowEnd Sub7. 然后单击 运行在工具菜单上,、PopulateListWithHorizontalRange, 和宏。在单元格 A 1:

30、 E 5 Sheet,将值添加到ListBox 1 一次循环宏过程。A 1: E 5单元 注意ListBox 1 与不定Sheet 1上。如何从ListBox控件绑定到多列的数据返回多个值您可以格式ListBox控件以显示多个列的数据。这意味着ListBox控件,每个列表行上显示多个项目。要多值列表,中选定项收益请按照下列步骤操作: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

31、5:南非C 5: 1953. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入UserForm UserForm5. 将Label控件添加到 UserForm。6. 将ListBox 控件添加到 UserForm。7. 右击ListBox,然后单击属性。键入或选择值,都表示为下列属性对 ListBox控件与下表中列岀:8.Property ValueBou ndColu mn1Colum nCou nt 3ColumnH eadsTrueRowSource Sheet1!A2:A58. 双击ListBox控件以显示代码窗口对 ListBox控

32、件。在代码窗口,键入如下代码:Private Sub ListBox1_Cha nge()Dim SourceData As RangeDim Val1 As Stri ng, Val2 As Stri ng, Val3 As Stri ngSet SourceRa nge = Ran ge(ListBox1.RowSource)Val1 = ListBox1.Value10.Val2 = SourceRa nge.Offset(ListBox1 丄 istl ndex, 1).Resize(1,1).ValueVal3 = SourceRa nge.Offset(ListBox1 Listl

33、 ndex, 2).Resize(1,1).ValueLabel1.Captio n = Val1 & & Val2 & & Val3End Sub9. 在运行 菜单上,单击 运行子过程/用户窗体。当您单击ListBox控件,中一个条目标签将更改为显示该条目中所有三个项目。 如何从绑定到工作表 ListBox控件中删除所有项目要从ListBox控件绑定到工作表,删除所有项目清除, 是存储在RowSource属性值。 要从ListBox控件绑定到工作表,删除项目请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在单元格 A 1: A 5 Sheet,键入了您要用于填充 ListBo

34、x控件值。3. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。5. 将ListBox 控件添加到 UserForm。6. 用鼠标右键单击 ListBox控件,然后单击属性。7. 在 RowSource 属性,键入 Sheet 1 A 1: A 5!8. 将 CommandButton 控件添加到 UserForm。9. 双击以显示代码窗口为 CommandButton 控件CommandButton 控件。在代码窗口,为CommandButton 1 Click 事件键入下列代码:Private Su

35、b Comma ndButto n1 Click()10.ListBox1.RowSource =End Sub在运行 菜单上,单击运行子过程/用户窗体。11.ListBox 控件, 添加到 UserForm 具有值, 您输入 Sheet填充。10. 单击 CommandButton 1。从ListBox 1中删除所有项目。如何从不绑定到工作表ListBox 控件中删除所有项目没有没有单个 VBA命令如果没有绑定到工作表列表,从ListBox控件删除所有项目。要从ListBox控件从VisualBasic数组,填充删除所有项目请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工

36、具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入 菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将ListBox 控件添加到 UserForm。5. 在插入菜单上,单击要插入模块表 模块。在代码窗口,键入如下代码:Sub PopulateListBox()Dim MyArray As Varia ntDim Ctr As In tegerMyArray = Array(Apples, Ora nges, Peaches, Ba nan as,6. Pi neap ples)For Ctr = LBou nd(MyArray) To UBou nd

37、(MyArray)NextUserForm1.ShowEnd Sub7. 将 CommandButton 控件添加到 UserForm。8. 双击以显示代码窗口为 CommandButton 控件CommandButton 控件。在代码窗口,为CommandButton 1 Click 事件键入下列代码:Private Sub Comma ndButto n1_Click()For i = 1 To ListBox1. ListCou nt9.ListBox1.Removeltem 0Next IEnd Sub然后单击运行在工具菜单上八PopulateListBox , 和宏。10.ListB

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

39、表,ComboBox控件中键入请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器3. 在插入 菜单上,单击要在工作簿中插入UserForm UserForm4. 将 ComboBox 控件添加到 UserForm。5. 在插入菜单上,单击要插入模块表 模块。在代码窗口,键入如下代码:Sub PopulateComboBox()Dim MyArray As Varia ntDim Ctr As In tegerMyArray = Array(Apples, Ora nges, Peaches, Ba nan as,6.

40、Pi neap ples)For Ctr = LBou nd(MyArray) To Ubou nd(MyArray)NextUserForm1.ShowEnd Sub7. 将 CommandButton 控件添加到 UserForm。8. 双击以显示代码窗口为CommandButton 控件CommandButton 控件在代码窗口,为CommandButton 1 Click事件键入下列代码:Private Sub Comma ndButto n1_Click()Dim listvar As Varia ntlistvar = ComboBox1.ListOn Error Resume N

41、extIf the item is not found in the list.If lsError(WorksheetFu nctio n.Match(ComboBox1.Value, listvar, 0)The nadd the new value to the list.ComboBox1.Addltem ComboBox1.ValueEnd IfEnd Sub然后单击运行在工具菜单上八PopulateListBox , 和宏。10.填充组合框控件,并再出现 UserForm。10. ComboBox 控件,中键入 Mangoes (或任何值尚未是列表中)。11. 单击 Command

42、Button 1。现在您键入新值将在列表末尾。如何向列表添加新项目如果ComboBox 控件绑定到工作表当用户键入值是未在列表中ComboBox控件,可能需要新值添加到列表。要添加该列表,ComboBox控件中键入新值请按照下列步骤操作:..2.13.14.启动Excel,并打开新空白工作簿。单元格 A 1: A 5 Sheet,中键入值与要用于填充 组合框 控件。选择单元格 A 1: A 5 Sheet 1 上。插入菜单上指向名称,然后单击定义。在工作簿中名称框中,键入ListRange ,然后单击确定。这创建ListRange定义名称。使用定义

43、名称ListRange 将ComboBox 控件的RowSource 属性绑定到工作表。在工具菜单,指向宏,然后单击 VisualBasic编辑器。在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。将 ComboBox 控件添加到 UserForm。对于 ComboBox 1 ,属性中键入与 RowSource 属性 ListRange Sheet 1 !将 CommandButton 控件添加到 UserForm。双击以显示代码窗口为 CommandButton 控件CommandButton 控件。在代码窗口,为CommandButton 1 Click 事件键入下

44、列代码:Private Sub Comma ndButto n1_Click()Dim SourceData As RangeDim found As ObjectSet SourceData = Ran ge(ListRa nge)Set found = Noth ingTry to find the value on the worksheet.Set found = SourceData.Fi nd(ComboBox1.Value)If the item is not found in the list.If found Is Nothing Thenredefi ne ListRa n

45、ge.Add the new item to the end of the list on the worksheet.=ComboBox1.ValueReset the list displayed in the ComboBox.ComboBox1.RowSource = Ran ge(listra nge).Address(external:=True)End IfEnd Sub在运行 菜单上,单击 运行子过程/用户窗体。UserForm 出现在 Sheet 1。ComboBox控件,中键入值尚未列表中。单击 CommandButton 1。ComboBox控件中键入新项目添加到列表,并

46、范围扩展到包括单元 A1:A6 , ComboBox 控件绑定到列表。当出现UserForm 如何显示ComboBox 控件列表有时,可能非常有用以 UserForm首次出现时显示 ComboBox控件的列表。以下示例使 用是 UserForm Activate 事件。要显示的 ComboBox 控件,列表请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 单元格 A 1: A 5 Sheet,中键入值与要用于填充 组合框 控件。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。5.

47、将 ComboBox 控件添加到 UserForm。6. 对于 ComboBox 1 , 属性 中键入 Sheet 1 与 RowSource 属性 A 1: A 5!7. 双击以显示代码窗口对于 UserForm UserForm 。在代码窗口,为CommandButtonClick 事件键入下列代码:Private Sub UserForm_Activate()8.ComboBox1.DropDow nEnd Sub8. 在运行菜单上,单击运行子过程/用户窗体。UserForm, Sheet 1 上出现, 您可看到该列表对于 ComboBox 1。当其他ComboBox 控件中进行选择如何

48、显示一个 ComboBox 控件列表控件的列表请按照下列步骤要,ComboBox 控件中进行选择时自动显示一个 ComboBox操作:1.启动Excel,并打开新空白工作簿。4.在插入菜单上,单击模块。2.在单元格 A 1: A 10 Sheet,输入值与要用于填充 组合框 控件。3.在工具菜单,指向宏,然后单击 VisualBasic编辑器。在代码窗口为模块,键入如下代码:5.Sub DropDow n_ComboBox()End Sub6.在 插入 菜单上,单击要在工作簿中插入UserForm UserForm7.将ComboBox 控件添加到 UserForm。8.对于ComboBox

49、1 , 属性 中键入 Sheet 1 与 RowSource 属性 A 1: A 59.双击要打开代码窗口对ComboBox控件ComboBox控件。10.在代码窗口对 ComboBox 控件,为 ComboBox Click 事件键入下列代码:Private Sub ComboBox1_Click()Applicatio n.On Time Now, DropDow n_ComboBoxEnd Sub11.添加到 UserForm 二 ComboBox 控件。12.对于 ComboBox2 ,属性中键入 Sheet 1 与 RowSource 属性 A6:A1013.在运行菜单上,单击运行子

50、过程/用户窗体。对于 ComboBox2 列表单击,ComboBox 1 列表中的项目时将自动出现框架控件使用Frame控件来分组UserForm中逻辑相关项。框架控件经常用于分组Optio nButt on 控件。如何循环Frame控件上的所有控件要使用Eachd Next For循环来访问 框架 控件,中所有控件请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入 UserForm UserForm 。4. 将Frame 控件添加到 UserForm。OptionButton 控

51、件添加到 Frame控件。5.重复此步骤向 Frame控件中添加两个详细 OptionButton 控件。5. 双击要打开代码窗口对Frame控件Frame控件。在代码窗口,为框架Click事件键入下列代码:Private Sub Frame1_Click()Dim Ctrl As Co ntrol6. For Each Ctrl In Frame1.C on trolsCtrl.E nabled = Not Ctrl.E nabledNextEnd Sub7. 在 运行 菜单上,单击 运行子过程/用户窗体。8. 在 UserForm,单击 Frame 控件。首次您单击框架控件,Frame控件

52、中所有控件是不可用。如果再次,单击Frame控件控件可再次。Optio nButt on控件可使用OptionButton控件组进行一个选择的选项组中。 使用以下技术到组 OptionButton 控件之一:? 框架控件? GroupName 属性注意On值,是值,和True值表明已选中一个 OptionButton。Off值、无值,和False值表明未选中 OptionButton攻击。如何确定当 OptionButton控件位于Frame控件被选中OptionButton控件通过使用Frame控件,OptionButtons 控件分组时您可以确定通过循环Frame控件中所有控件并检查Val

53、ue属性的每个控件是选定OptionButton控件。要确定所选,Optio nButt on控件请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。4. 将Frame控件添加到 UserForm。OptionButton 控件添加到 Frame控件。5.重复此步骤向 Frame控件中添加两个详细 OptionButton 控件。5. 添加一个 CommandButton 控件UserForm 之外Frame控件上。6. 双击以显示代码窗口对于UserForm CommandButton 控件。在代码窗口,为Command

54、Button 1 Click事件键入下列代码:Private Sub Comma ndButto n1_Click()For Each x In Frame1.C on trolsIf x.Value = True The n8.MsgBox x.Capti onEnd IfNextEnd Sub7. 在运行菜单上,单击运行子过程/用户窗体。8. UserForm , 中一个 OptionButton 控件,依次 CommandButton 1。将出现一个消息框包含当前选定Optio nButt on控件的题注。如何确定所选 Optio nButt on控件对以下示例目的是为了确定Group1

55、中选定OptionButton控件。若要创建具有两个OptionButton控件组,UserForm请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击 VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserForm UserForm 。4. 将Frame控件添加到 UserForm。Frame控件中添加一个 OptionButton 控件。5.重复此步骤向 Frame控件中添加两个详细 OptionButton 控件。6.对于每个OptionButton 控件,在GroupName 属性键入Group17. 重复步骤 4和5以创建包含三个 OptionButton 控件二Frame控件8.对于每个OptionButt

温馨提示

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

评论

0/150

提交评论