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

下载本文档

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

文档简介

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

2、藏UserForm如果应用程序涉及用户窗体之间移动。要隐藏UserForm,使用以下代码:UserForml.Hide如何从内存删除UserForm要从内存,删除UserForm使用Unload语句。要卸载,名为UserForml,UserForm使用以下代码:UnioadUserForm1如果您卸载UserForm,是与UserForm或者,是与UserForm上控件的事件过程中(例如,您单击CommandButton控件),您可以使用我关键字代替的UserForm名称。将关键字用于卸载UserForm,Me使用以下代码:UnloadMe如何使用UserForm事件支持许多预定义事件,可以附

3、加到vba过程。在事件发生时,该附加到事件过程运行。单个操作由用户执行可初始化多事件行可初始化多事件之间最经常对UserForm使用事件是Initialize事件、Click事件,和Terminate事件注意包含事件过程VisualBasic模块可能称为后面UserForm模块。模块包含事件过程是不可见的VisualBasic编辑器ProjectMicrosoftInternetExplorer窗口Modules集合中。您必须双击正文部分UserForm以查看UserForm代码模块。如何捕获UserForm事件要捕获UserForm事件,请按照下列步骤操作:1.Excel中创建新工作簿。2.

4、 在工具菜单,指向宏,然后单击VisualBasic编辑器在插入菜单上,单击要在工作簿中插入UserFormUserForm3. 双击以显示代码窗口对于UserFormUserForm。PrivateSubUserForm_Click()Me.Height=Int(Rnd*500)Me.Width=Int(Rnd*750)EndSubPrivateSubUserFormnitialize()Me.Caption=EventsEventsEvents!Me.BackColor=RGB(10,25,100)EndSubPrivateSubUserForm_Resize()msg=Width:&Me

5、.Width&Chr(10)&Height:&Me.HeightMsgBoxprompt:=msg,Title:=ResizeEventEndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger)msg=NowUnloading&Me.CaptionMsgBoxprompt:=msg,Title:=QueryCloseEventEndSubPrivateSubUserForm_Terminate()msg=NowUnloading&Me.CaptionMsgBoxprompt:=msg,Title:=Termin

6、ateEventEndSub6. 在运行菜单上,单击运行子过程/用户窗体。UserForm首先加载,时宏使用Initialize事件改为“事件事件事件!和BackColor属性以深蓝色的UserFormCaption属性。当您单击UserForm,您初始化Click事件。调整UserFormClick事件。因为您创建Resize事件,过程单击UserForm后收到两个消息框。因为Click事件代码更改宽度属性和Height属性是UserFormResize事件发生两次。关闭UserForm初始化QueryClose事件。QueryClose事件显示消息框包含标题为Initialize事件,您赋

7、予UserForm代码中。可以使用时要执行特定的操作集如果用户关闭UserFormQueryClose事件。然后生成一个消息框,指岀标题为UserForm是UserFormlTerminate事件。从内存中删除UserForm并返回到其原始状态标题为UserForm后Terminate事件发生。如何防止UserForm关闭通过关闭按钮当您运行UserForm,关闭按钮添加到UserForm窗口的右上角。如果要防止UserForm关闭通过关闭按钮,您必须捕获QueryClose事件。QueryClose事件UserForm是从内存中卸载之前发生。使用QueryClose事件CloseModeCl

8、oseMode参闭按钮。要保持活动,UserForm将Cancel取消对QueryClose事件参数为True。要使用QueryClose事件来防止UserForm关闭通过关闭按钮,请按照下列步骤:1. Excel中创建新工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将CommandButton控件添加到UserForm。5. 双击以显示代码窗口对于UserFormUserForm。在代码窗口,键入如下代码:PrivateSubCommandButton1_Click()UnloadMeE

9、ndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAs6. Integer)IFCloseMode=vbFormControlMenuThenCancel=TrueMe.Caption=ClicktheCommandButtontocloseMe!EndIfEndSub7. 在运行菜单上,单击运行子过程/用户窗体。当您单击关闭按钮UserForm未关闭。您必须单击CommandButton控件关闭UserForm注意:代码包含在本文中不包含影响所有属性和对控件事件的示例。如果您不得不,请使用属性窗口要查看可供控件属性的列表。

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

11、例如,如果要设置名为TextBox,名为到值是Bob,UserFormlUserForm上TextBox控件的Text属性使用以下代码:代码:TextBox1.Text=Bob当向对象,附加代码代码附加到之一为对象事件。众多,本文示例中,将代码附加到Click事件是CommandButton对象。标签控件使用标签控件主要用于描述UserForm上其他控件。运行UserForm时Label控件不能编辑由用户。Caption属性到设置或返回一个Label控件中文本。用于格式化Label控件其他常用属性包括字体属性和ForeColor属性。如何使用WITH语句设置Label控件格式要使用WITH语句

12、来更改属性的Label控件,请按照下列步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm4.4.将Label控件添加到UserForm。5.将CommandButton控件添加到UserForm。6. 双击以打开代码窗口对于UserFormCommandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()WithLabel1Setthetextofthelabel.Ca

13、ption=ThisisLabelExample1Automaticallysizethelabelcontrol.AutoSize=True7.WordWrap=FalseSetthefontusedbytheLabelcontrol.Font.Name=TimesNewRoman.Font.Size=14.Font.Bold=TrueSetthefontcolortoblue.ForeColor=RGB(0,0,255)EndWithEndSub在运行菜单上,单击运行子过程/用户窗体。8. 单击CommandButton。文本粗TimesNewRoman用字体大小是14中Label控件上显

14、示Thisis标签示例1TextBox控件TextBox控件经常用于收集来自用户输入。Text属性包含项,TextBox控件中进行。如何使用TextBox控件来验证密码如果您设置TextBox控件,PasswordChar属性的它成为masked-编辑控件。由字符指定可视取代TextBox控件中键入的每个字符。要使用TextBox控件来验证密码,请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将TextBox控件添加到UserForm。5.

15、在视图菜单上,单击属性以显示属性窗口。对TextBox控件,PasswordChar属性中键入*6.注意您正将值改为星号。6. 将CommandButton控件添加到UserForm。7. 双击以打开代码窗口对于UserFormCommandButton控件在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()IfTextBox1.TextuserformThenMsgBoxPasswordisIncorrect.Pleasereenter.TextBox1.Text=TextBox1.SetFocus9ElseM

16、sgBoxWelcome!UnloadMeEndIfEndSub9. 在运行菜单上,单击运行子过程/用户窗体。10. 在TextBox控件中键入密码userform。11. 单击CommandButton控件。然后重新键控件的Click对于本例,密码是userform“。如果您键入正确密码,您收到一个消息框,指岀密码不正确,入密码可清除TextBox控件,并且。当您键入正确密码,收到欢迎消息,并UserForm关闭。CommandButton控件您可以使用CommandButton控制来启动VBA过程。VBA过程通常附加到CommandButton事件。要使用CommandButton控件Cl

17、ick事件发生,时,运行过程请按照步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将CommandButton控件添加到UserForm。5. 双击以显示代码窗口对于UserFormCommandButton控件。在代码窗口,键入如下代码:6.PrivateSubCommandButton1_Click()red=Int(Rnd*255)green=Int(Rnd*255)blue=Int(Rnd*255)CommandButtonI.BackColo

18、r=RGB(red,green,blue)EndSub6. 在运行菜单上,单击运行子过程/用户窗体。CommandButton1控件的背景颜色更改每次您单击它。ListBox控件ListBox控件的目的是为了向用户显示要选择的项目列表。您可以存储为Excel工作表上ListBox控件项目列表。使用RowSource属性来填充工作表,上ListBox控件与范围的单元格。ListBox控件在使用MultiSelect属性,时可设置为接受多重选择。如何从ListBox控件获取当前选定项使用Value属性的ListBox控件可返回当前选定项。要返回单项选择ListBox控件,中当前选定项请按照下列步骤

19、操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。5. 将ListBox控件添加到UserForm。6. 双击ListBox控件以显示代码窗口对ListBox控件。在代码窗口,为ListBox1Click事件键入下列代码:7PrivateSubListBox1_Click()MsgBoxListBox1.ValueEndSub在运行菜单上,单击运行子过程/用户窗体。当单击列表,中的项目

20、与当前选定项目将出现一个消息框。如何获取多选择ListBox控件中选定项确定多选择ListBox控件,中所选项目必须循环列表,中所有项目并再查询Selected属性。要返回多选择,ListBox控件中当前选定项请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。5. 将ListBox控件添加到UserForm。6. 在视图菜单上,单击属性以查看属性窗口。键入值,对于下列Li

21、stBox控件属性表示:7. PropertyValueMultiSelect1-frmMultiSelectMultiRowSourceSheet1!A1:A88. 将CommandButton控件添加到UserForm。9. 双击以显示代码窗口对于UserFormCommandButton控件在代码窗口,为CommandButton1Click事件键入下列代码:SubCommandButton1_Click()LoopthroughtheitemsintheListBox.Forx=0toListBox1.ListCount-1Iftheitemisselected.10. IfListB

22、ox1.Selected(x)=TrueThendisplaytheSelecteditem.MsgBoxListBox1.List(x)EndIfNextxEndSub在运行菜单上,单击运行子过程/用户窗体。11. 列表中选择一个或多个项目。12. 单击CommandButton1。单击CommandButton1,后,在ListBox控件中选择每个项目显示在一个单独的消息框。息框中,岀现所有选定项后自动关闭。如何使用RowSource属性来填充工作表上以ListBox控件要使用RowSource属性来填充工作表,上ListBox控件从范围的单元格请按照下列步骤:1. 启动Excel,并打开

23、新空白工作簿。2. 在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。5. 将ListBox控件添加到UserForm。6. 将CommandButton控件添加到UserForm。7. 双击以显示代码窗口对于UserFormCommandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()ListBox1.RowSource=Sheet1

24、!A1:A5EndSub在运行菜单上,单击运行子过程/用户窗体。9.注意ListBox1不包含任何值。8. 单击CommandButton1。ListBox1填充单元格A1:A5Sheet中有值。如何填充一个ListBox控件数组中有值下例显示您如何填充以数组ListBox控件。数组中每次为ListBox控件项必须分配值。UserForm在消通常,此过程要求您使用循环结构,女口ForaNext循环。要填充以数组,ListBox控件请按照下列步骤操作:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入Use

25、rFormUserForm。4.将ListBox控件添加到UserForm。5.在插入菜单上,单击要插入模块表模块。在代码窗口,键入如下代码:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array(Apples,Oranges,Peaches,Bananas,6.Pineapples)ForCtr=LBound(MyArray)ToUBound(MyArray)NextUserForml.ShowEndSub7.然后单击运行在工具菜单上,、PopulateListBox,和宏。PopulateListBox过程建立

26、简单数组,并数组中通过使用Additem方法添加到ListBox控件项目。然后,UserForm岀现。如何使用工作表上水平的单元格区域来填充一个ListBox控件如果将ListBox控件的RowSource属性到水平区域的单元格,ListBox控件中第一个值只会岀现。要通过使用AddItem方法,ListBox控件从水平区域的单元格填充请按照下列步骤操作:1.启动Excel,并打开新空白工作簿。2.在单元格A1:E1Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserFo

27、rm。5.将ListBox控件添加到UserForm。6.在插入菜单上,单击要插入模块表模块。在代码窗口,键入如下代码:SubPopulateListWithHorizontaIRange()7.ForEachxInSheetl.Range(A1:E1)NextUserForm1.ShowEndSub8.然后单击运行在工具菜单上,、PopulateListWithHorizontalRange,和宏在单元格A1:E5Sheet,将值添加到ListBox1一次循环宏过程。A1:E5单兀注意ListBox1与不疋Sheet1上。如何从ListBox控件绑定到多列的数据返回多个值您可以格式ListB

28、ox控件以显示多个列的数据。这意味着ListBox控件,每个列表行上显示多个项目多值列表,中选定项收益请按照下列步骤操作:1.启动Excel,并打开新空白工作簿。Sheet由该单元格中键入以下数据:2.A2:1996B:北美C2:1403:1996B3:南非C3:210A4:1997B4:北美C4:190A5:1997B5:南非C5:1953.在工具菜单,指向宏,然后单击VisualBasic编辑器4.在插入菜单上,单击要在工作簿中插入UserFormUserForm5.将Label控件添加到UserForm。6.将ListBox控件添加到UserForm。A1:年B1:区域C1:销售7.右击

29、ListBox,然后单击属性。键入或选择值,都表示为下列属性对ListBox控件与下表中列岀:PropertyValue8.BoundColumn1ColumnCount3ColumnHeadsTrueRowSourceSheet1!A2:A59.10.双击ListBox控件以显示代码窗口对ListBox控件。在代码窗口,键入如下代码:PrivateSubListBox1_Change()DimSourceDataAsRangeDimVal1AsString,Val2AsString,Val3AsStringSetSourceRange=Range(ListBox1.RowSource)Val

30、1=ListBox1.ValueVal2=SourceRange.Offset(ListBox1丄istlndex,1).Resize(1,1).ValueVal3=SourceRange.Offset(ListBox1丄istlndex,2).Resize(1,1).ValueLabel1.Caption=Val1&Val2&Val3EndSub11.在运行菜单上,单击运行子过程/用户窗体当您单击ListBox控件,中一个条目标签将更改为显示该条目中所有三个项目。如何从绑定到工作表ListBox控件中删除所有项目控件绑控件绑要从ListBox控件绑定到工作表,删除所有项目清除,是存储在Row

31、Source属性值。要从ListBox定到工作表,删除项目请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm将ListBox控件添加到UserForm。4. 用鼠标右键单击ListBox控件,然后单击属性。5. 在RowSource属性,键入Sheet1A1:A5!6. 将CommandButton控件添加到UserForm。7. 双击以显示代码窗口为CommandButton控件Com

32、mandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1Click()10.ListBox1.RowSource=EndSub在运行菜单上,单击运行子过程/用户窗体。11.ListBox控件,添加到UserForm具有值,您输入Sheet填充。12.单击CommandButton1。从ListBox1中删除所有项目。如何从不绑定到工作表ListBox控件中删除所有项目没有没有单个VBA命令如果没有绑定到工作表列表,从ListBox控件删除所有项目。要从ListBox控件从VisualBasic数组,填充删除

33、所有项目请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将ListBox控件添加到UserForm。5. 在插入菜单上,单击要插入模块表模块。在代码窗口,键入如下代码:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array(Apples,Oranges,Peaches,Bananas,6. Pineapples)ForCtr=LBound(MyArray)ToUB

34、ound(MyArray)NextUserForm1.ShowEndSub将CommandButton控件添加到UserForm。7. 双击以显示代码窗口为CommandButton控件CommandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()Fori=1ToListBox1.ListCount9.ListBox1.Removeltem0NextIEndSub然后单击运行在工具菜单上八PopulateListBox,和宏。ListBox控件填充,并再出现UserForm11.单击Comm

35、andButton1从ListBox1中删除所有项目。ComboBox控件您可以使用ComboBox控件作为在下拉列表框中,或组合框其中您可选择列表中值或键入新值。Style属性决定如果ComboBox控件作为下拉列表框或组合框。注意前述对ListBox控件中所有示例也能应用到ComboBox控件,除例如获取多选择ListBox控件中选定项“如何“。如何向列表添加新项目如果ComboBox控件未绑定到工作表键入值是未在列表中ComboBox控件,时可能要向列表添加新值。要添加新值,如果ComboBox控件未绑定到工作表,ComboBox控件中键入请按照下列步骤操作:1. 启动Excel,并打开

36、新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将ComboBox控件添加到UserForm。5. 在插入菜单上,单击要插入模块表模块。在代码窗口,键入如下代码:SubPopulateComboBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array(Apples,Oranges,Peaches,Bananas,6.Pineapples)ForCtr=LBound(MyArray)ToUbound(MyArray)NextUserForm

37、1.ShowEndSub7.7.将CommandButton控件添加到UserForm8.双击以显示代码窗口为CommandButton控件CommandButton控件事件键入下列代码:在代码窗口,为CommandButton1ClickPrivateSubCommandButton1_Click()DimlistvarAsVariantlistvar=ComboBox1.ListOnErrorResumeNextIftheitemisnotfoundinthelist.IflsError(WorksheetFunction.Match(ComboBox1.Value,listvar,0)T

38、henaddthenewvaluetothelist.EndIfEndSub然后单击运行在工具菜单上八PopulateListBox,和宏。10.填充组合框控件,并再出现UserForm。11.ComboBox控件,中键入Mangoes(或任何值尚未是列表中)。12.单击CommandButton1。现在您键入新值将在列表末尾。如何向列表添加新项目如果ComboBox控件绑定到工作表当用户键入值是未在列表中ComboBox控件,可能需要新值添加到列表。要添加该列表,ComboBox控件中键入新值请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2.单元格A1:A5Sheet,中键入

39、值与要用于填充组合框控件。3.选择单元格A1:A5Sheet1上。插入菜单上指向名称,然后单击定义。4.在工作簿中名称框中,键入ListRange,然后单击确定。这创建ListRange定义名称。使用定义名称ListRange将ComboBox控件的RowSource属性绑定到工作表。5.在工具菜单,指向宏,然后单击VisualBasic编辑器。6.在插入菜单上,单击要在工作簿中插入UserFormUserForm。7.将ComboBox控件添加到UserForm。8.对于ComboBox1,属性中键入与RowSource属性ListRangeSheet1!9.将CommandButton控件

40、添加到UserForm。10.双击以显示代码窗口为CommandButton控件CommandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()DimSourceDataAsRangeDimfoundAsObjectSetSourceData=Range(ListRange)Setfound=NothingTrytofindthevalueontheworksheet.Setfound=SourceData.Find(ComboBox1.Value)11.Iftheitemisnotfound

41、inthelist.IffoundIsNothingThenredefineListRange.Addthenewitemtotheendofthelistontheworksheet.=ComboBox1.ValueResetthelistdisplayedintheComboBox.ComboBox1.RowSource=Range(listrange).Address(external:=True)EndIfEndSub12.13.14.在运行菜单上,单击运行子过程/用户窗体UserForm出现在Sheet1。ComboBox控件,中键入值尚未列表中。单击CommandButton1。C

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

43、omboBox控件添加到UserForm。6. 对于ComboBox1,属性中键入Sheet1与RowSource属性A1:A5!7. 双击以显示代码窗口对于UserFormUserForm。在代码窗口,为CommandButtonClick事件键入下列代码:PrivateSubUserForm_Activate()8.ComboBox1.DropDownEndSub8. 在运行菜单上,单击运行子过程/用户窗体。UserForm,Sheet1上岀现,您可看到该列表对于ComboBox1。当其他ComboBox控件中进行选择如何显示一个ComboBox控件列表要,ComboBox控件中进行选择时

44、自动显示一个ComboBox控件的列表请按照下列步骤操作:1. 启动Excel,并打开新空白工作簿。2. 在单元格A1:A10Sheet,输入值与要用于填充组合框控件。3. 在工具菜单,指向宏,然后单击VisualBasic编辑器。4. 在插入菜单上,单击模块。在代码窗口为模块,键入如下代码:SubDropDown_ComboBox()EndSub6. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。7. 将ComboBox控件添加到UserForm。8. 对于ComboBox1,属性中键入Sheet1与RowSource属性A1:A5!9. 双击要打开代码窗口对Combo

45、Box控件ComboBox控件。在代码窗口对ComboBox控件,为ComboBoxClick事件键入下列代码:10.PrivateSubComboBox1_Click()Application.OnTimeNow,DropDown_ComboBoxEndSub添加到UserForm二ComboBox控件。10. 对于ComboBox2,属性中键入Sheet1与RowSource属性A6:A10!11. 在运行菜单上,单击运行子过程/用户窗体。对于ComboBox2列表单击,ComboBox1列表中的项目时将自动岀现。框架控件使用Frame控件来分组UserForm中逻辑相关项。框架控件经常用

46、于分组OptionButton控件。如何循环Frame控件上的所有控件要使用EachaNextFor循环来访问框架控件,中所有控件请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将Frame控件添加到UserForm。OptionButton控件添加到Frame控件。5.重复此步骤向Frame控件中添加两个详细OptionButton控件。5. 双击要打开代码窗口对Frame控件Frame控件。在代码窗口,为框架Click事件键入下列代码:P

47、rivateSubFrame1_Click()DimCtrlAsControl6. ForEachCtrlInFrame1.ControlsCtrl.Enabled=NotCtrl.EnabledNextEndSub7. 在运行菜单上,单击运行子过程/用户窗体。8. 在UserForm,单击Frame控件。首次您单击框架控件,Frame控件中所有控件是不可用。如果再次,单击Frame控件控件可再次。OptionButton控件可使用OptionButton控件组进行一个选择的选项组中。使用以下技术到组OptionButton控件之一:?框架控件?GroupName属性注意On值,是值,和Tru

48、e值表明已选中一个OptionButton。Off值、无值,和False值表明未选中OptionButton攻击。如何确定当OptionButton控件位于Frame控件被选中OptionButton控件通过使用Frame控件,OptionButtons控件分组时您可以确定通过循环Frame控件中所有控件并检查Value属性的每个控件是选定OptionButton控件。要确定所选,OptionButton控件请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserF

49、orm。4. 将Frame控件添加到UserForm。OptionButton控件添加到Frame控件。5.重复此步骤向Frame控件中添加两个详细OptionButton控件。5. 添加一个CommandButton控件UserForm之外Frame控件上。6. 双击以显示代码窗口对于UserFormCommandButton控件。在代码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()ForEachxInFrame1.ControlsIfx.Value=TrueThen8.MsgBoxx.CaptionEndIf

50、NextEndSub7. 在运行菜单上,单击运行子过程/用户窗体。8. UserForm,中一个OptionButton控件,依次CommandButton1。将岀现一个消息框包含当前选定OptionButton控件的题注。控件组,如何确定所选OptionButton控件对以下示例目的是为了确定Group1中选定OptionButton控件。若要创建具有两个OptionButtonUserForm请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.

51、 将Frame控件添加到UserForm。Frame控件中添加一个OptionButton控件。5.重复此步骤向Frame控件中添加两个详细OptionButton控件。5. 对于每个OptionButton控件,在GroupName属性键入Group1。6. 重复步骤4和5以创建包含三个OptionButton控件二Frame控件。7. 对于每个OptionButton控件在第二个框架控件,在GroupName属性键入Group2。8. 添加一个CommandButton控件UserForm之外Frame控件上。9. 双击以显示代码窗口对于UserFormCommandButton控件。在代

52、码窗口,为CommandButton1Click事件键入下列代码:PrivateSubCommandButton1_Click()DimxAsControl11.LoopthroughALLthecontrolsontheUserForm.ForEachxInMe.ControlsChecktoseeifOptionisintheNameofeachcontrol.IfInStr(x.Name,Option)ThenCheckGroupname.Ifx.GroupName=Group1ThenCheckthestatusoftheOptionButton.Ifx.Value=TrueThenM

53、sgBoxx.CaptionExitForEndIfEndIfEndIfNextEndSub在运行菜单上,单击运行子过程/用户窗体。10. UserForm,中Group1,中一个OptionButton控件依次CommandButton1。将岀现一个消息框包含OptionButton控件当前选定的标题。CheckBox控件您可以使用CheckBox控制来指示真或假值。带有复选标记中岀现CheckBox控件指示值为True。与没有复选标记岀现CheckBox表示值为False。如果TripleState属性的值为True,CheckBox控件还可以Null值。可用似乎具有Null值CheckB

54、ox控件。注意On值,是值,和True值表明,CheckBox控件被选定。Off值、无值,和False值表明CheckBox控件已清除。如何检查CheckBox控件的值要使用Value属性以返回当前值的CheckBox控件,请按照下列步骤:1. 启动Excel,并打开新空白工作簿。2. 在工具菜单,指向宏,然后单击VisualBasic编辑器。3. 在插入菜单上,单击要在工作簿中插入UserFormUserForm。4. 将CheckBox控件添加到UserForm。5. 在属性列表对于CheckBox1,选择True与TripleState属性。6. 双击CheckBox控件以显示代码窗口为

55、CheckBox控件。在代码窗口,为CheckBox1Change事件键入下列代码:PrivateSubCheckBox1_Change()SelectCaseCheckBox1.ValueCaseTrue7CheckBox1.Caption=TrueCaseFalseCheckBox1.Caption=FalseCaseElseCheckBox1.Caption=NullEndSelect8.EndSub在运行菜单上,单击运行子过程/用户窗体当您单击CheckBox控件,标题的CheckBox控件更改以反映当前值。切换按钮控件切换按钮控件具有相同外观作为一个CommandButton控件在您单击它当单击切换按钮控件,它似乎按或推。当未选中按钮Value属性的切换按钮控件是True选择按钮时,False如果TripleState属性的值为True,ToggleButton控件还可以Null值。可用似乎具有Null值切换按钮控件注

温馨提示

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

评论

0/150

提交评论