首页 vba控件常规使用UserForm-基础

vba控件常规使用UserForm-基础

举报
开通vip

vba控件常规使用UserForm-基础...PAGE/NUMPAGESvba控件常规使用UserForm基础如何显示UserForm以下是用于显示UserForm编程语法是:UserFormName.Show要显示名为UserForm1,UserForm使用以下代码:UserForm1.Show不显示它实际上还能加载UserForm装入存。复杂UserForm可能需要几秒钟以显示。因为预先您能加载到存,UserForm可决定何时导致此开销。要加载到存UserForm1不显示它,使用以下代码:LoadUserForm1若要显示UserForm...

vba控件常规使用UserForm-基础
...PAGE/NUMPAGESvba控件常规使用UserForm基础如何显示UserForm以下是用于显示UserForm编程语法是:UserFormName.Show要显示名为UserForm1,UserForm使用以下代码:UserForm1.Show不显示它实际上还能加载UserForm装入存。复杂UserForm可能需要几秒钟以显示。因为预先您能加载到存,UserForm可决定何时导致此开销。要加载到存UserForm1不显示它,使用以下代码:LoadUserForm1若要显示UserForm,必须使用以前已显示显示方法。如何以暂时隐藏UserForm如果要暂时隐藏UserForm,使用隐藏方法。可能想要隐藏UserForm如果应用程序涉与用户窗体之间移动。要隐藏UserForm,使用以下代码:UserForm1.Hide如何从存删除UserForm要从存,删除UserForm使用Unload语句。要卸载,名为UserForm1,UserForm使用以下代码:UnloadUserForm1如果您卸载UserForm,是与UserForm或者,是与UserForm上控件的事件过程中(例如,您单击CommandButton控件),您可以使用"我"关键字代替的UserForm名称。将关键字用于卸载UserForm,"Me"使用以下代码:UnloadMe如何使用UserForm事件支持许多预定义事件,可以附加到VBA过程。在事件发生时,该附加到事件过程运行。单个操作由用户执行可初始化多事件。之间最经常对UserForm使用事件是Initialize事件、Click事件,和Terminate事件。注意包含事件过程VisualBasic模块可能称为"后面"UserForm模块。模块包含事件过程是不可见的VisualBasic编辑器ProjectMicrosoftInternetExplorer窗口Modules集合中。您必须双击正文部分UserForm以查看UserForm代码模块。如何捕获UserForm事件要捕获UserForm事件,请按照以下步骤操作:1.Excel中创建新工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.双击以显示代码窗口对于UserFormUserForm。5.模块,中键入如下代码:PrivateSubUserForm_Click()Me.Height=Int(Rnd*500)Me.Width=Int(Rnd*750)EndSubPrivateSubUserForm_Initialize()Me.Caption="EventsEventsEvents!"Me.BackColor=RGB(10,25,100)EndSubPrivateSubUserForm_Resize()msg="Width:"&Me.Width&Chr(10)&"Height:"&Me.HeightMsgBoxprompt:=msg,Title:="ResizeEvent"EndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger)msg="NowUnloading"&Me.CaptionMsgBoxprompt:=msg,Title:="QueryCloseEvent"EndSubPrivateSubUserForm_Terminate()msg="NowUnloading"&Me.CaptionMsgBoxprompt:=msg,Title:="TerminateEvent"EndSub6.在运行菜单上,单击运行子过程/用户窗体。UserForm首先加载,时宏使用Initialize事件改为"事件事件事件!"和BackColor属性以深蓝色的UserFormCaption属性。当您单击UserForm,您初始化Click事件。调整UserFormClick事件。因为您创建Resize事件,过程单击UserForm后收到两个消息框。因为Click事件代码更改宽度属性和Height属性是UserFormResize事件发生两次。关闭UserForm初始化QueryClose事件。QueryClose事件显示消息框包含标题为Initialize事件,您赋予UserForm代码中。可以使用时要执行特定的操作集如果用户关闭UserFormQueryClose事件。然后生成一个消息框,指出标题为UserForm是UserForm1Terminate事件。从存中删除UserForm并返回到其原始状态标题为UserForm后Terminate事件发生。如何防止UserForm关闭通过关闭按钮当您运行UserForm,关闭按钮添加到UserForm窗口的右上角。如果要防止UserForm关闭通过关闭按钮,您必须捕获QueryClose事件。QueryClose事件UserForm是从存中卸载之前发生。使用QueryClose事件CloseModeCloseMode参数来确定如何UserForm关闭。vbFormControlMenu值为CloseModeCloseMode参数表示时,单击关闭按钮。要保持活动,UserForm将Cancel取消对QueryClose事件参数为True。要使用QueryClose事件来防止UserForm关闭通过关闭按钮,请按照以下步骤:1.Excel中创建新工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将CommandButton控件添加到UserForm。5.双击以显示代码窗口对于UserFormUserForm。6.在代码窗口,键入如下代码:PrivateSubCommandButton1_Click()UnloadMeEndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger)IFCloseMode=vbFormControlMenuThenCancel=TrueMe.Caption="ClicktheCommandButtontocloseMe!"EndIfEndSub7.在运行菜单上,单击运行子过程/用户窗体。当您单击关闭按钮UserForm未关闭。您必须单击CommandButton控件关闭UserForm。注意:代码包含在本文中不包含影响所有属性和对控件事件的示例。如果您不得不,请使用属性窗口要查看可供控件属性的列表。要在视图菜单上,查看列表的属性,请单击属性窗口。如何使用设计模式来编辑控件当您使用"VisualBasic编辑器来设计一个对话框,使用设计模式。在设计模式,您可编辑控件和可更改属性在属性窗口UserForm上的控制。若要显示属性窗口,在视图菜单上,单击属性窗口。当您处在设计模式注意控件不响应与事件。当您运行一个对话框,显示方式,用户看到它,程序处于运行模式。当UserForm是从存中卸载将不会保留更改,对运行模式中控件的属性。注意控件请回复到事件在运行模式。如何引用UserForm上控件如何您引用控件编程取决VisualBasic模块表运行代码的类型。如果代码从常规模块,运行以下语法是:UserFormName.Controlname.Property=值例如,如果要设置名为TextBox,名为到值是Bob,UserForm1UserForm上TextBox控件的Text属性使用以下代码:UserForm1.TextBox1.Text="Bob"如果代码是通过事件的控件或者通过UserForm,启动过程中是您不需要引用名为UserForm。而,使用以下代码:TextBox1.Text="Bob"当向对象,附加代码代码附加到之一为对象事件。众多,本文示例中,将代码附加到Click事件是CommandButton对象。标签控件标签控件主要用于描述UserForm上其他控件。运行UserForm时Label控件不能编辑由用户。使用Caption属性到设置或返回一个Label控件中文本。用于格式化Label控件其他常用属性包括字体属性和ForeColor属性。如何使用WITH语句设置Label控件格式要使用WITH语句来更改属性的Label控件,请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将Label控件添加到UserForm。5.将CommandButton控件添加到UserForm。6.双击以打开代码窗口对于UserFormCommandButton控件。7.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()WithLabel1'Setthetextofthelabel..Caption="ThisisLabelExample1"'Automaticallysizethelabelcontrol..AutoSize=True.WordWrap=False'SetthefontusedbytheLabelcontrol..Font.Name="TimesNewRoman".Font.Size=14.Font.Bold=True'Setthefontcolortoblue..ForeColor=RGB(0,0,255)EndWithEndSub8.在运行菜单上,单击运行子过程/用户窗体。9.单击CommandButton。文本粗TimesNewRoman用字体大小是14中Label控件上显示"Thisis标签示例1"。TextBox控件TextBox控件经常用于收集来自用户输入。Text属性包含项,TextBox控件中进行。如何使用TextBox控件来验证密码如果您设置TextBox控件,PasswordChar属性的它成为"masked-编辑"控件。由字符指定可视取代TextBox控件中键入的每个字符。要使用TextBox控件来验证密码,请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将TextBox控件添加到UserForm。5.在视图菜单上,单击属性以显示属性窗口。6.对TextBox控件,PasswordChar属性中键入*注意您正将值改为星号。7.将CommandButton控件添加到UserForm。8.双击以打开代码窗口对于UserFormCommandButton控件。9.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()IfTextBox1.Text<>"userform"ThenMsgBox"PasswordisIncorrect.Pleasereenter."TextBox1.Text=""TextBox1.SetFocusElseMsgBox"Welcome!"UnloadMeEndIfEndSub10.在运行菜单上,单击运行子过程/用户窗体。11.在TextBox控件中键入密码userform。12.单击CommandButton控件。对于本例,密码是"userform"。如果您键入正确密码,您收到一个消息框,指出密码不正确,然后重新键入密码可清除TextBox控件,并且。当您键入正确密码,收到欢迎消息,并UserForm关闭。CommandButton控件您可以使用CommandButton控制来启动VBA过程。VBA过程通常附加到CommandButton控件的Click事件。要使用CommandButton控件Click事件发生,时,运行过程请按照步骤: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)CommandButton1.BackColor=RGB(red,green,blue)EndSub7.在运行菜单上,单击运行子过程/用户窗体。CommandButton1控件的背景颜色更改每次您单击它。ListBox控件ListBox控件的目的是为了向用户显示要选择的项目列表。您可以存储为Excel工作表上ListBox控件项目列表。使用RowSource属性来填充工作表,上ListBox控件与围的单元格。ListBox控件在使用MultiSelect属性,时可设置为承受多重选择。如何从ListBox控件获取当前选定项使用Value属性的ListBox控件可返回当前选定项。要返回单项选择ListBox控件,中当前选定项请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ListBox控件添加到UserForm。6.双击ListBox控件以显示代码窗口对ListBox控件。7.在代码窗口,为ListBox1Click事件键入以下代码:PrivateSubListBox1_Click()MsgBoxListBox1.ValueEndSub8.在运行菜单上,单击运行子过程/用户窗体。当单击列表,中的项目与当前选定项目将出现一个消息框。如何获取多项选择择ListBox控件中选定项确定多项选择择ListBox控件,中所选项目必须循环列表,中所有项目并再查询Selected属性。要返回多项选择择,ListBox控件中当前选定项请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ListBox控件添加到UserForm。6.在视图菜单上,单击属性以查看属性窗口。7.键入值,对于以下ListBox控件属性表示:PropertyValue----------------------------------MultiSelect1-frmMultiSelectMultiRowSourceSheet1!A1:A88.将CommandButton控件添加到UserForm。9.双击以显示代码窗口对于UserFormCommandButton控件。10.在代码窗口,为CommandButton1Click事件键入以下代码:SubCommandButton1_Click()'LoopthroughtheitemsintheListBox.Forx=0toListBox1.ListCount-1'Iftheitemisselected...IfListBox1.Selected(x)=TrueThen'displaytheSelecteditem.MsgBoxListBox1.List(x)EndIfNextxEndSub11.在运行菜单上,单击运行子过程/用户窗体。12.列表中选择一个或多个项目。13.单击CommandButton1。单击CommandButton1,后,在ListBox控件中选择每个项目显示在一个单独的消息框。UserForm在消息框中,出现所有选定项后自动关闭。如何使用RowSource属性来填充工作表上以ListBox控件要使用RowSource属性来填充工作表,上ListBox控件从围的单元格请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ListBox控件添加到UserForm。6.将CommandButton控件添加到UserForm。7.双击以显示代码窗口对于UserFormCommandButton控件。8.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()ListBox1.RowSource="=Sheet1!A1:A5"EndSub9.在运行菜单上,单击运行子过程/用户窗体。注意ListBox1不包含任何值。10.单击CommandButton1。ListBox1填充单元格A1:A5Sheet中有值。如何填充一个ListBox控件数组中有值下例显示您如何填充以数组ListBox控件。数组中每次为ListBox控件项必须分配值。通常,此过程要求您使用循环结构,如ForàNext循环。要填充以数组,ListBox控件请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将ListBox控件添加到UserForm。5.在插入菜单上,单击要插入模块表模块。6.在代码窗口,键入如下代码:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array("Apples","Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUBound(MyArray)UserForm1.ListBox1.AddItemMyArray(Ctr)NextUserForm1.ShowEndSub7.然后单击运行在工具菜单上,、"PopulateListBox,和宏。PopulateListBox过程建立简单数组,并数组过使用AddItem方法添加到ListBox控件项目。然后,UserForm出现。如何使用工作表上水平的单元格区域来填充一个ListBox控件如果将ListBox控件的RowSource属性到水平区域的单元格,ListBox控件中第一个值只会出现。要通过使用AddItem方法,ListBox控件从水平区域的单元格填充请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在单元格A1:E1Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ListBox控件添加到UserForm。6.在插入菜单上,单击要插入模块表模块。7.在代码窗口,键入如下代码:SubPopulateListWithHorizontalRange()ForEachxInSheet1.Range("A1:E1")UserForm1.ListBox1.AddItemx.ValueNextUserForm1.ShowEndSub8.然后单击运行在工具菜单上,、"PopulateListWithHorizontalRange,和宏。在单元格A1:E5Sheet,将值添加到ListBox1一次循环宏过程。A1:E5单元注意ListBox1与不定Sheet1上。如何从ListBox控件绑定到多列的数据返回多个值您可以格式ListBox控件以显示多个列的数据。这意味着ListBox控件,每个列表行上显示多个项目。要多值列表,中选定项收益请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.Sheet由该单元格中键入以下数据:A1:年B1:区域C1:销售A2:1996B:北美C2:1403:1996B3:南非C3:210A4:1997B4:北美C4:190A5:1997B5:南非C5:1953.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将Label控件添加到UserForm。6.将ListBox控件添加到UserForm。7.右击ListBox,然后单击属性。8.键入或选择值,都表示为以下属性对ListBox控件与下表中列出:PropertyValue----------------------------BoundColumn1ColumnCount3ColumnHeadsTrueRowSourceSheet1!A2:A59.双击ListBox控件以显示代码窗口对ListBox控件。10.在代码窗口,键入如下代码:PrivateSubListBox1_Change()DimSourceDataAsRangeDimVal1AsString,Val2AsString,Val3AsStringSetSourceRange=Range(ListBox1.RowSource)Val1=ListBox1.ValueVal2=SourceRange.Offset(ListBox1.ListIndex,1).Resize(1,1).ValueVal3=SourceRange.Offset(ListBox1.ListIndex,2).Resize(1,1).ValueLabel1.Caption=Val1&""&Val2&""&Val3EndSub11.在运行菜单上,单击运行子过程/用户窗体。当您单击ListBox控件,中一个条目标签将更改为显示该条目中所有三个项目。如何从绑定到工作表ListBox控件中删除所有项目要从ListBox控件绑定到工作表,删除所有项目清除,是存储在RowSource属性值。要从ListBox控件绑定到工作表,删除项目请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在单元格A1:A5Sheet,键入了您要用于填充ListBox控件值。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ListBox控件添加到UserForm。6.用鼠标右键单击ListBox控件,然后单击属性。7.在RowSource属性,键入Sheet1A1:A5!8.将CommandButton控件添加到UserForm。9.双击以显示代码窗口为CommandButton控件CommandButton控件。10.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()ListBox1.RowSource=""EndSub11.在运行菜单上,单击运行子过程/用户窗体。ListBox控件,添加到UserForm具有值,您输入Sheet填充。12.单击CommandButton1。从ListBox1中删除所有项目。如何从不绑定到工作表ListBox控件中删除所有项目没有没有单个VBA命令如果没有绑定到工作表列表,从ListBox控件删除所有项目。要从ListBox控件从VisualBasic数组,填充删除所有项目请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将ListBox控件添加到UserForm。5.在插入菜单上,单击要插入模块表模块。6.在代码窗口,键入如下代码:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array("Apples","Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUBound(MyArray)UserForm1.ListBox1.AddItemMyArray(Ctr)NextUserForm1.ShowEndSub7.将CommandButton控件添加到UserForm。8.双击以显示代码窗口为CommandButton控件CommandButton控件。9.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()Fori=1ToListBox1.ListCountListBox1.RemoveItem0NextIEndSub10.然后单击运行在工具菜单上,、"PopulateListBox,和宏。ListBox控件填充,并再出现UserForm。11.单击CommandButton1。从ListBox1中删除所有项目。ComboBox控件您可以使用ComboBox控件作为在下拉列表框中,或组合框其中您可选择列表中值或键入新值。Style属性决定如果ComboBox控件作为下拉列表框或组合框。注意前述对ListBox控件中所有示例也能应用到ComboBox控件,除例如获取多项选择择ListBox控件中选定项"如何"。如何向列表添加新项目如果ComboBox控件未绑定到工作表键入值是未在列表中ComboBox控件,时可能要向列表添加新值。要添加新值,如果ComboBox控件未绑定到工作表,ComboBox控件中键入请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将ComboBox控件添加到UserForm。5.在插入菜单上,单击要插入模块表模块。6.在代码窗口,键入如下代码:SubPopulateComboBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array("Apples","Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUbound(MyArray)UserForm1boBox1.AddItemMyArray(Ctr)NextUserForm1.ShowEndSub7.将CommandButton控件添加到UserForm。8.双击以显示代码窗口为CommandButton控件CommandButton控件。9.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()DimlistvarAsVariantlistvar=ComboBox1.ListOnErrorResumeNext'Iftheitemisnotfoundinthelist...IfIsError(WorksheetFunction.Match(ComboBox1.Value,listvar,0))Then'addthenewvaluetothelist.ComboBox1.AddItemComboBox1.ValueEndIfEndSub10.然后单击运行在工具菜单上,、"PopulateListBox,和宏。填充组合框控件,并再出现UserForm。11.ComboBox控件,中键入Mangoes(或任何值尚未是列表中)。12.单击CommandButton1。现在您键入新值将在列表末尾。如何向列表添加新项目如果ComboBox控件绑定到工作表当用户键入值是未在列表中ComboBox控件,可能需要新值添加到列表。要添加该列表,ComboBox控件中键入新值请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.单元格A1:A5Sheet,中键入值与要用于填充组合框控件。3.选择单元格A1:A5Sheet1上。4.插入菜单上指向名称,然后单击定义。在工作簿中名称框中,键入ListRange,然后单击确定。这创建ListRange定义名称。使用定义名称ListRange将ComboBox控件的RowSource属性绑定到工作表。5.在工具菜单,指向宏,然后单击VisualBasic编辑器。6.在插入菜单上,单击要在工作簿中插入UserFormUserForm。7.将ComboBox控件添加到UserForm。8.对于ComboBox1,属性中键入与RowSource属性ListRangeSheet1!9.将CommandButton控件添加到UserForm。10.双击以显示代码窗口为CommandButton控件CommandButton控件。11.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()DimSourceDataAsRangeDimfoundAsObjectSetSourceData=Range("ListRange")Setfound=Nothing'Trytofindthevalueontheworksheet.Setfound=SourceData.Find(ComboBox1.Value)'Iftheitemisnotfoundinthelist...IffoundIsNothingThen'redefineListRange.SourceData.Resize(SourceData.Rows.Count+1,1).Name="ListRange"'Addthenewitemtotheendofthelistontheworksheet.SourceData.Offset(SourceData.Rows.Count,0).Resize(1,1).Value_=ComboBox1.Value'ResetthelistdisplayedintheComboBox.ComboBox1.RowSource=Range("listrange").Address(external:=True)EndIfEndSub12.在运行菜单上,单击运行子过程/用户窗体。UserForm出现在Sheet1。13.ComboBox控件,中键入值尚未列表中。14.单击CommandButton1。ComboBox控件中键入新项目添加到列表,并围扩展到包括单元A1:A6,ComboBox控件绑定到列表。当出现UserForm如何显示ComboBox控件列表有时,可能非常有用以UserForm首次出现时显示ComboBox控件的列表。以下示例使用是UserFormActivate事件。要显示的ComboBox控件,列表请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.单元格A1:A5Sheet,中键入值与要用于填充组合框控件。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击要在工作簿中插入UserFormUserForm。5.将ComboBox控件添加到UserForm。6.对于ComboBox1,属性中键入Sheet1与RowSource属性A1:A5!7.双击以显示代码窗口对于UserFormUserForm。8.在代码窗口,为CommandButtonClick事件键入以下代码:PrivateSubUserForm_Activate()ComboBox1.DropDownEndSub9.在运行菜单上,单击运行子过程/用户窗体。UserForm,Sheet1上出现,您可看到该列表对于ComboBox1。当其他ComboBox控件中进行选择如何显示一个ComboBox控件列表要,ComboBox控件中进行选择时自动显示一个ComboBox控件的列表请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在单元格A1:A10Sheet,输入值与要用于填充组合框控件。3.在工具菜单,指向宏,然后单击VisualBasic编辑器。4.在插入菜单上,单击模块。5.在代码窗口为模块,键入如下代码:SubDropDown_ComboBox()UserForm1boBox2.DropDownEndSub6.在插入菜单上,单击要在工作簿中插入UserFormUserForm。7.将ComboBox控件添加到UserForm。8.对于ComboBox1,属性中键入Sheet1与RowSource属性A1:A5!9.双击要打开代码窗口对ComboBox控件ComboBox控件。10.在代码窗口对ComboBox控件,为ComboBoxClick事件键入以下代码:PrivateSubComboBox1_Click()Application.OnTimeNow,"DropDown_ComboBox"EndSub11.添加到UserForm二ComboBox控件。12.对于ComboBox2,属性中键入Sheet1与RowSource属性A6:A10!13.在运行菜单上,单击运行子过程/用户窗体。对于ComboBox2列表单击,ComboBox1列表中的项目时将自动出现。框架控件使用Frame控件来分组UserForm中逻辑相关项。框架控件经常用于分组OptionButton控件。如何循环Frame控件上的所有控件要使用EachàNextFor循环来访问框架控件,中所有控件请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将Frame控件添加到UserForm。5.OptionButton控件添加到Frame控件。重复此步骤向Frame控件中添加两个详细OptionButton控件。6.双击要打开代码窗口对Frame控件Frame控件。7.在代码窗口,为框架Click事件键入以下代码:PrivateSubFrame1_Click()DimCtrlAsControlForEachCtrlInFrame1.ControlsCtrl.Enabled=NotCtrl.EnabledNextEndSub8.在运行菜单上,单击运行子过程/用户窗体。9.在UserForm,单击Frame控件。首次您单击框架控件,Frame控件中所有控件是不可用。如果再次,单击Frame控件控件可再次。OptionButton控件可使用OptionButton控件组进行一个选择的选项组中。使用以下技术到组OptionButton控件之一:?框架控件?GroupName属性注意On值,是值,和True值说明已选中一个OptionButton。Off值、无值,和False值说明未选中OptionButton攻击。如何确定当OptionButton控件位于Frame控件被选中OptionButton控件通过使用Frame控件,OptionButtons控件分组时您可以确定通过循环Frame控件中所有控件并检查Value属性的每个控件是选定OptionButton控件。要确定所选,OptionButton控件请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将Frame控件添加到UserForm。5.OptionButton控件添加到Frame控件。重复此步骤向Frame控件中添加两个详细OptionButton控件。6.添加一个CommandButton控件UserForm之外Frame控件上。7.双击以显示代码窗口对于UserFormCommandButton控件。8.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()ForEachxInFrame1.ControlsIfx.Value=TrueThenMsgBoxx.CaptionEndIfNextEndSub9.在运行菜单上,单击运行子过程/用户窗体。10.UserForm,中一个OptionButton控件,依次CommandButton1。将出现一个消息框包含当前选定OptionButton控件的题注。如何确定所选OptionButton控件对以下示例目的是为了确定Group1中选定OptionButton控件。若要创建具有两个OptionButton控件组,UserForm请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将Frame控件添加到UserForm。5.Frame控件中添加一个OptionButton控件。重复此步骤向Frame控件中添加两个详细OptionButton控件。6.对于每个OptionButton控件,在GroupName属性键入Group1。7.重复步骤4和5以创建包含三个OptionButton控件二Frame控件。8.对于每个OptionButton控件在第二个框架控件,在GroupName属性键入Group2。9.添加一个CommandButton控件UserForm之外Frame控件上。10.双击以显示代码窗口对于UserFormCommandButton控件。11.在代码窗口,为CommandButton1Click事件键入以下代码:PrivateSubCommandButton1_Click()DimxAsControl'LoopthroughALLthecontrolsontheUserForm.ForEachxInMe.Controls'Checktoseeif"Option"isintheNameofeachcontrol.IfInStr(x.Name,"Option")Then'CheckGroupname.Ifx.GroupName="Group1"Then'CheckthestatusoftheOptionButton.Ifx.Value=TrueThenMsgBoxx.CaptionExitForEndIfEndIfEndIfNextEndSub12.在运行菜单上,单击运行子过程/用户窗体。13.UserForm,中Group1,中一个OptionButton控件依次CommandButton1。将出现一个消息框包含OptionButton控件当前选定的标题。CheckBox控件您可以使用CheckBox控制来指示真或假值。带有复选标记中出现CheckBox控件指示值为True。与没有复选标记出现CheckBox表示值为False。如果TripleState属性的值为True,CheckBox控件还可以Null值。可用似乎具有Null值CheckBox控件。注意On值,是值,和True值说明,CheckBox控件被选定。Off值、无值,和False值说明CheckBox控件已清除。如何检查CheckBox控件的值要使用Value属性以返回当前值的CheckBox控件,请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.将CheckBox控件添加到UserForm。5.在属性列表对于CheckBox1,选择True与TripleState属性。6.双击CheckBox控件以显示代码窗口为CheckBox控件。7.在代码窗口,为CheckBox1Change事件键入以下代码:PrivateSubCheckBox1_Change()SelectCaseCheckBox1.ValueCaseTrueCheckBox1.Caption="True"CaseFalseCheckBox1.Caption="False"CaseElseCheckBox1.Caption="Null"EndSelectEndSub8.在运行菜单上,单击运行子过程/用户窗体。当您单击CheckBox控件,标题的CheckBox控件更改以反映当前值。切换按钮控件切换按钮控件具有相同外观作为一个CommandButton控件在您单击它。当单击切换按钮控件,它似乎按或推。当未选中按钮Value属性的切换按钮控件是True选择按钮时,False。如果TripleState属性的值为True,ToggleButton控件还可以Null值。可用似乎具有Null值切换按钮控件。注意On值,是值,和True值说明选定ToggleButton控件。Off值、无值,和False值说明未选中ToggleButton控件。如何获取ToggleButton控件的值要获取值ToggleButton控件,请按照以下步骤操作:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击要在工作簿中插入UserFormUserForm。4.添加UserForm上一个切换按钮控件。5.将Label控件添加到UserForm。6.双击要打开代码窗口为ToggleButton控件切换按钮控件。7.在代码窗口,为ToggleButton1Click事件键入以下代码:PrivateSubToggleButton1_Click()IfToggleButton1.Value=TrueThen'SetUserFormbackgroundtoRed.Me.BackColor=RGB(255,0,0)Else'SetUserFormbackgroundtoBlue.Me.BackColor=RGB(0,0,255)EndIfEndSub8.在运行菜单上,单击运行子过程/用户窗体。当您单击切换按钮控件,的UserForm更改背景色。如何创建互斥ToggleButton控件组本示例将变量使用MouseUp事件并调用ExclusiveToggleButtons过程。ExclusiveToggleButtons过程决定ToggleButton控件,选中,然后取消其他。若要创建互斥ToggleButton控件组,请按照以下步骤:1.启动Excel,并打开新空白工作簿。2.在工具菜单,指向宏,然后单击VisualBasic编辑器。3.在插入菜单上,单击模块。4.在代码窗口为模块,键入如下代码:'VariablethatholdsthenameoftheToggleButtonthatwasclicked.PublicclickedAsStringSubExclusiveToggleButtons()DimtoggleAsControl'LoopthroughalltheToggleButtonsonFrame1.ForEachtoggleInUserForm1.Frame1.Controls'IfNameofToggleButtonmatchesnameofToggleButton'thatwasclicked...Iftoggle.Name=clickedThen'...selectthebutton.toggle.Value=TrueElse'...otherwisecleartheselectionofthebutton.toggle.Value=FalseEndIfNextEndSub5.在插入菜单上,单击要在工作簿中插入UserFormUserForm。6.将Frame控件添加到UserForm。7.Frame控件中添加一个切换按钮控件。重复此步骤向Frame控件中添加两个详细切换按钮控件。8.双击以显示代码窗口对于UserFormFrame控件。9.在代码窗口为模块,为ToggleButtonMouseUp事件键入以下代码:PrivateSubToggleButton1_MouseUp(ByValButtonAsInteger,_ByValShiftAsInteger,ByValXAsSingle,ByValYAsSingle)clicked=ToggleButton1.NameApplication.OnTimeNow,"ExclusiveToggleButtons"EndSubPrivateSubToggleButton2_MouseUp(ByValButtonAsInteger,_ByValShiftAsInteger,ByValXAsSingle,ByValYAsSingle)clicked=ToggleButton2.NameApplication.OnTimeNow,"ExclusiveToggleButtons"EndSubPrivateSubToggleButton3_MouseUp(ByValButtonAsInteger,_ByValShiftAsInteger,ByValXAsSingle,ByValYAsSingle)clicked=ToggleButton3.NameApplication.OnTimeNow,"ExclusiveToggleButtons"EndSub10.在运行菜单上,单击运行子过程/用户窗体。单击切换按钮控件,时取消以前选定切换按钮控件。TabStrip控件使用TabStrip控件来查看不同组的一组控件的信息。如何通过编程控制TabStrip控件若
本文档为【vba控件常规使用UserForm-基础】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
zxiang
多年工作经验
格式:doc
大小:284KB
软件:Word
页数:25
分类:其他高等教育
上传时间:2022-05-27
浏览量:0