


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、vba控件常規(guī)使用UserForm基礎(chǔ)如何顯示UserForm以下是用丁顯示UserForm編程語(yǔ)法是:UserFormName.Show要顯示名為UserForml,UserForm使用以下代碼:UserForml.Show不顯示它實(shí)際上還能加載UserForm裝入內(nèi)存。復(fù)雜UserForm可能需要幾秒鐘以顯示。因?yàn)轭A(yù)先您能加載到內(nèi)存,UserForm可決定何時(shí)導(dǎo)致此開(kāi)銷。要加載到內(nèi)存UserForml不顯示它,使用以下代碼:LoadUserForml若要顯示UserForm,必須使用以前已顯示顯示方法。如何以暫時(shí)隱藏UserForm如果要暫時(shí)隱藏UserForm,使用隱藏方法。可能想要隱藏
2、UserForm如果應(yīng)用程序涉及用戶窗體之間移動(dòng)。要隱藏UserForm,使用以下代碼:UserForml.Hide如何從內(nèi)存刪除UserForm要從內(nèi)存,刪除UserForm使用Unload語(yǔ)句。要卸載,名為UserForml,UserForm使用以下代碼:UnloadUserForm1如果您卸載UserForm,是與UserForm或者,是與UserForm上控件的事件過(guò)程中(例如,您單擊CommandButton控件),您可以使用"我"關(guān)鍵字代替的UserForm名稱。將關(guān)鍵字用丁卸載UserForm,"Me"使用以下代碼:UnloadMe如何使用
3、UserForm事件支持許多預(yù)定義事件,可以附加到VBA過(guò)程。在事件發(fā)生時(shí),該附加到事件過(guò)程運(yùn)行。單個(gè)操作由用戶執(zhí)行可初始化多事件。之間最經(jīng)常對(duì)UserForm使用事件是Initialize事件、Click事件,和Terminate事件。注意包含事件過(guò)程VisualBasic模塊可能稱為"后面"UserForm模塊。模塊包含事件過(guò)程是不可見(jiàn)的VisualBasic編輯器ProjectMicrosoftInternetExplorer窗口Modules集合中。您必須雙擊正文部分UserForm以查看UserForm代碼模塊。如何捕獲UserForm事件要捕獲UserForm事
4、件,請(qǐng)按照下歹U步驟操作:1.Excel中創(chuàng)建新工作簿。2.在工具菜單,指向宏,然后單擊Visua舊asic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 雙擊以顯示代碼窗口對(duì)于UserFormUserForm。模塊,中鍵入如下代碼:PrivateSubUserForm_Click()Me.Height=Int(Rnd*500)Me.Width=Int(Rnd*750)EndSubPrivateSubUserForm_Initialize()Me.Caption="EventsEventsEvents!"Me.BackColor=RG
5、B(10,25,100)EndSubPrivateSubUserForm_Resize()5 msg="Width:"&Me.Width&Chr(10)&"Height:"&Me.HeightMsgBoxprompt:=msg,Title:="ResizeEvent"EndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseModeAsInteger)msg="NowUnloading"&Me.CaptionMsgBox
6、prompt:=msg,Title:="QueryCloseEvent"EndSub6. PrivateSubUserForm_Terminate()msg="NowUnloading"&Me.CaptionMsgBoxprompt:=msg,Title:="TerminateEvent"EndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。UserForm首先加載,時(shí)宏使用Initialize事件改為"事件事件事件!"和BackColor屆性以深藍(lán)色的UserFormCaption屆性。當(dāng)您單擊UserFo
7、rm,您初始化Click事件。調(diào)整UserFormClick事件。因?yàn)槟鷦?chuàng)建Resize事件,過(guò)程單擊UserForm后收到兩個(gè)消息框。因?yàn)镃lick事件代碼更改寬度屆性和Height屆性是UserFormResize事件發(fā)生兩次。關(guān)閉UserForm初始化QueryClose事件。QueryClose事件顯示消息框包含標(biāo)題為Initialize事件,您賦予UserForm代碼中。可以使用時(shí)要執(zhí)行特定的操作集如果用戶關(guān)閉UserFormQueryClose事件。然后生成一個(gè)消息框,指出標(biāo)題為UserForm是UserFormlTerminate事件。從內(nèi)存中刪除UserForm并返回到其原始狀
8、態(tài)標(biāo)題為UserForm后Terminate事件發(fā)生。如何防止UserForm關(guān)閉通過(guò)關(guān)閉按鈕如果要防止當(dāng)您運(yùn)行UserForm,關(guān)閉按鈕添加到UserForm窗口的右上角UserForm關(guān)閉通過(guò)關(guān)閉按鈕,您必須捕獲QueryClose事件。QueryClose事件UserForm是從內(nèi)存中卸載之前發(fā)生。使用QueryClose事件CloseModeCloseMode參數(shù)來(lái)確定如何UserForm關(guān)閉。vbFormControlMenu值為CloseModeCloseMode參數(shù)表示時(shí),單擊關(guān)閉按鈕。要保持活動(dòng),UserForm將Cancel取消對(duì)QueryClose事件參數(shù)為True。要使用
9、QueryClose事件來(lái)防止UserForm關(guān)閉通過(guò)關(guān)閉按鈕,請(qǐng)按照下歹U步驟:1. Excel中創(chuàng)建新工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將CommandButton控件添加到UserForm。5. 雙擊以顯示代碼窗口對(duì)于UserFormUserForm。在代碼窗口,鍵入如下代碼:PrivateSubCommandButton1_Click()UnloadMeEndSubPrivateSubUserForm_QueryClose(CancelAsInteger,CloseMo
10、deAsInteger)IFCloseMode=vbFormControlMenuThenCancel=TrueMe.Caption="ClicktheCommandButtontocloseMe!”EndIfEndSub6. 在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。當(dāng)您單擊關(guān)閉按鈕UserForm未關(guān)閉。您必須單擊CommandButton控件關(guān)閉UserForm。注意:代碼包含在本文中不包含影響所有屆性和對(duì)控件事件的示例。如果您不得不,請(qǐng)使用屆性窗口要查看可供控件屆性的列表。要在視圖菜單上,查看列表的屆性,請(qǐng)單擊屆性窗口。如何使用設(shè)計(jì)模式來(lái)編輯控件當(dāng)您使用"Visual
11、Basic編輯器來(lái)設(shè)計(jì)一個(gè)對(duì)話框,使用設(shè)計(jì)模式。在設(shè)計(jì)模式,您可編輯控件和可更改屆性在屆性窗口UserForm上的控制。若要顯示屆性窗口,在視圖菜單上,單擊屆性窗口。當(dāng)您處在設(shè)計(jì)模式注意控件不響應(yīng)與事件。當(dāng)您運(yùn)行一個(gè)對(duì)話框,顯示方式,用戶看到它,程序處丁運(yùn)行模式。當(dāng)UserForm是從內(nèi)存中卸載將不會(huì)保留更改,對(duì)運(yùn)行模式中控件的屆性。注意控件請(qǐng)回復(fù)到事件在運(yùn)行模式。如何引用UserForm上控件如何您引用控件編程取決VisualBasic模塊表運(yùn)行代碼的類型。如果代碼從常規(guī)模塊,運(yùn)行以下語(yǔ)法是:=值例如,如果要設(shè)置名為TextBox,名為到值是Bob,UserFormlUserForm上Tex
12、tBox控件的Text屆性使用以下代碼:如果代碼是通過(guò)事件的控件或者通過(guò)UserForm,啟動(dòng)過(guò)程中是您不需要引用名為UserForm。而,使用以下代碼:TextBoxl.Text="Bob"當(dāng)向?qū)ο螅郊哟a代碼附加到之一為對(duì)象事件。眾多,本文示例中,將代碼附加到Click事件是CommandButton對(duì)象。標(biāo)簽控件標(biāo)簽控件主要用丁描述UserForm上其他控件。運(yùn)行UserForm時(shí)Label控件不能編輯由用戶。使用Caption屆性到設(shè)置或返回一個(gè)Label控件中文本。用丁格式化Label控件其他常用屆性包括字體屆性和ForeColor屆性。如何使用WITH語(yǔ)句設(shè)置
13、Label控件格式要使用WITH語(yǔ)句來(lái)更改屆性的Label控件,請(qǐng)按照下列步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將Label控件添加到UserForm。5. 將CommandButton控件添加到UserForm。6. 雙擊以打開(kāi)代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()WithLabell&
14、#39;Setthetextofthelabel.7.Caption="ThisisLabelExample1"'Automaticallysizethelabelcontrol.AutoSize=True.Wordwrap=False'SetthefontusedbytheLabelcontrol.Font.Name="TimesNewRoman".Font.Size=14.Font.Bold=True'Setthefontcolortoblue.7. .ForeColor=RGB(0,0,255)EndWithEndSub在運(yùn)
15、行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。8. 單擊CommandButton。文本粗TimesNewRoman用字體大小是14中Label控件上顯示"Thisis標(biāo)簽示例1OTextBox控件TextBox控件經(jīng)常用丁收集來(lái)自用戶輸入。Text屆性包含項(xiàng),TextBox控件中進(jìn)行。如何使用TextBox控件來(lái)驗(yàn)證密碼如果您設(shè)置TextBox控件,PasswordChar屆性的它成為"masked-編輯"控件。由字符指定可視取代TextBox控件中鍵入的每個(gè)字符。要使用TextBox控件來(lái)驗(yàn)證密碼,請(qǐng)按照下列步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜
16、單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將TextBox控件添加到UserForm。5. 在視圖菜單上,單擊屬性以顯示屬性窗口。對(duì)TextBox控件,PasswordChar屬性中鍵入*6.注意您正將值改為星號(hào)。6. 將CommandButton控件添加到UserForm。7. 雙擊以打開(kāi)代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()IfTextBox1.Te
17、xt<>"userform"ThenMsgBox"PasswordisIncorrect.Pleasereenter."TextBox1.Text=""TextBox1.SetFocus9.8. ElseMsgBox"Welcome!"UnloadMeEndIfEndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。9. 在TextBox控件中鍵入密碼userform。12, 單擊CommandButton控件。對(duì)丁本例,密碼是"userform"。如果您鍵入正確密碼,您收到一個(gè)消息框,
18、指出密碼不正確,然后重新鍵入密碼可活除TextBox控件,并且。當(dāng)您鍵入正確密碼,收到歡迎消息,并UserForm關(guān)閉。CommandButton控件您可以使用CommandButton控制來(lái)啟動(dòng)VBA過(guò)程。VBA過(guò)程通常附加到CommandButton控件的Click事件。要使用CommandButton控件Click事件發(fā)生,時(shí),運(yùn)行過(guò)程請(qǐng)按照步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將CommandButton控件添加到UserForm。5
19、. 雙擊以顯示代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,鍵入如下代碼:PrivateSubCommandButton1_Click()red=Int(Rnd*255)green=Int(Rnd*255)blue=Int(Rnd*255)CommandButtonl.BackColor=RGB(red,green,blue)EndSub6. 在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。CommandButton1控件的背景顏色更改每次您單擊它。ListBox控件ListBox控件的目的是為了向用戶顯示要選擇的項(xiàng)目列表。您可以存儲(chǔ)為Excel工作表上ListBox控件項(xiàng)目
20、歹U表。使用RowSource屆性來(lái)填充工作表,上ListBox控件與范圍的單元格。ListBox控件在使用MultiSelect屆性,時(shí)可設(shè)置為接受多重選擇。如何從ListBox控件獲取當(dāng)前選定項(xiàng)使用Value屆性的ListBox控件可返回當(dāng)前選定項(xiàng)。要返回單項(xiàng)選擇ListBox控件,中當(dāng)前選定項(xiàng)請(qǐng)按照下列步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在單元格A1:A5Sheet,鍵入了您要用于填充ListBox控件值。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將ListBox控
21、件添加到UserForm。6. 雙擊ListBox控件以顯示代碼窗口對(duì)ListBox控件。7.在代碼窗口,為L(zhǎng)istBox1Click事件鍵入下列代碼:7. PrivateSubListBox1_Click()MsgBoxListBox1.ValueEndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。當(dāng)單擊列表,中的項(xiàng)目與當(dāng)前選定項(xiàng)目將出現(xiàn)一個(gè)消息框。如何獲取多選擇ListBox控件中選定項(xiàng)確定多選擇ListBox控件,中所選項(xiàng)目必須循環(huán)歹U表,中所有項(xiàng)目并再查詢Selected屆性。要返回多選擇,ListBox控件中當(dāng)前選定項(xiàng)請(qǐng)按照下列步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2.
22、 在單元格A1:A5Sheet,鍵入了您要用于填充ListBox控件值。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將ListBox控件添加到UserForm。6. 在視圖菜單上,單擊屬性以查看屬性窗口。鍵入值,對(duì)于下列ListBox控件屬性表示:7. PropertyValueMultiSelect1-frmMultiSelectMultiRowSourceSheet1!A1:A8將CommandButton控件添加到UserForm。8. 雙擊以顯示代碼窗口對(duì)于UserFormCommand
23、Button控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:SubCommandButton1_Click()'LoopthroughtheitemsintheListBox.Forx=0toListBox1.ListCount-1'Iftheitemisselected.IfListBox1.Selected(x)=TrueThen'displaytheSelecteditem.MsgBoxListBox1.List(x)9. EndIfNextxEndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。10. 列表中選擇一個(gè)或多個(gè)項(xiàng)目。11.
24、單擊CommandButton1。單擊CommandButton1,后,在ListBox控件中選擇每個(gè)項(xiàng)目顯示在一個(gè)單獨(dú)的消息框。UserForm在消息框中,出現(xiàn)所有選定項(xiàng)后自動(dòng)關(guān)閉。如何使用RowSource屆性來(lái)填充工作表上以ListBox控件要使用RowSource屆性來(lái)填充工作表,上ListBox控件從范圍的單元格請(qǐng)按照下列步驟:1.啟動(dòng)Excel,并打開(kāi)新空白工作簿2. 在單元格A1:A5Sheet,鍵入了您要用于填充ListBox控件值在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm將ListBox控
25、件添加到UserForm。4. 將CommandButton控件添加到UserForm。5. 雙擊以顯示代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()&ListBox1.RowSource="=Sheet1!A1:A5”EndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。9.注意ListBox1不包含任何值。8. 單擊CommandButton1。ListBox1填充單元格A1:A5Sheet中有值。如何填充一個(gè)ListBox控件
26、數(shù)組中有值下例顯示您如何填充以數(shù)組ListBox控件。數(shù)組中每次為L(zhǎng)istBox控件項(xiàng)必須分配值。通常,此過(guò)程要求您使用循環(huán)結(jié)構(gòu),如ForaNext循環(huán)。要填充以數(shù)組,ListBox控件請(qǐng)按照下列步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將ListBox控件添加到UserForm。5. 在插入菜單上,單擊要插入模塊表模塊。在代碼窗口,鍵入如下代碼:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsI
27、ntegerMyArray=Array("Apples","Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUBound(MyArray)NextUserForm1.ShowEndSub6. 然后單擊運(yùn)行在工具菜單上,、"PopulateListBox,和宏。PopulateListBox過(guò)程建立簡(jiǎn)單數(shù)組,并數(shù)組中通過(guò)使用AddItem方法添加到ListBox控件項(xiàng)目。然后,UserForm出現(xiàn)。如何使
28、用工作表上水平的單元格區(qū)域來(lái)填充一個(gè)ListBox控件如果將ListBox控件的RowSource屆性到水平區(qū)域的單元格,ListBox控件中第一個(gè)值只會(huì)出現(xiàn)。要通過(guò)使用AddItem方法,ListBox控件從水平區(qū)域的單元格填充請(qǐng)按照下列步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在單元格A1:E1Sheet,鍵入了您要用于填充ListBox控件值。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將ListBox控件添加到UserForm。6. 在插入菜單上,單擊要插入模塊表模塊。在
29、代碼窗口,鍵入如下代碼:SubPopulateListWithHorizontalRange()ForEachxInSheet1.Range("A1:E1")7.NextUserForm1.ShowEndSub7. 然后單擊運(yùn)行在工具菜單上,、"PopulateListWithHorizontalRange,和宏。在單元格A1:E5Sheet,將值添加到ListBox1一次循環(huán)宏過(guò)程。A1:E5單元注意ListBox1與不定Sheet1上。如何從ListBox控件綁定到多列的數(shù)據(jù)返回多個(gè)值您可以格式ListBox控件以顯示多個(gè)歹U的數(shù)據(jù)。這意味著ListBox控件
30、,每個(gè)歹0表行上顯示多個(gè)項(xiàng)目。要多值列表,中選定項(xiàng)收益請(qǐng)按照下列步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。Sheet由該單元格中鍵入以下數(shù)據(jù):A1:年B1:區(qū)域C1:銷售3. 2A2:1996B:北美C2:1403:1996B3:南非C3:210A4:1997B4:北美C4:190A5:1997B5:南非C5:195在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將Label控件添加到UserForm。6. 將ListBox控件添加到UserForm。7. 右擊ListBox,然后單擊屬性。鍵入
31、或選擇值,都表示為下列屬性對(duì)ListBox控件與下表中列出:8.PropertyValueBoundColumn1ColumnCount3ColumnHeadsTrueRowSourceSheet1!A2:A58. 雙擊ListBox控件以顯示代碼窗口對(duì)ListBox控件。在代碼窗口,鍵入如下代碼:PrivateSubListBox1_Change()DimSourceDataAsRangeDimVal1AsString,Val2AsString,Val3AsStringSetSourceRange=Range(ListBox1.RowSource)Val1=ListBox1.Value10.
32、9. Val2=SourceRange.Offset(ListBox1.ListIndex,1).Resize(1,1).ValueVal3=SourceRange.Offset(ListBox1.ListIndex,2).Resize(1,1).ValueLabel1.Caption=Val1&""&Val2&""&Val3EndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。當(dāng)您單擊ListBox控件,中一個(gè)條目標(biāo)簽將更改為顯示該條目中所有三個(gè)項(xiàng)目。如何從綁定到工作表ListBox控件中刪除所有項(xiàng)目屆性值。要從ListB
33、ox控件綁定到工作表,刪除所有項(xiàng)目活除,是存儲(chǔ)在RowSource要從ListBox控件綁定到工作表,刪除項(xiàng)目請(qǐng)按照下列步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在單元格A1:A5Sheet,鍵入了您要用于填充ListBox控件值。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將ListBox控件添加到UserForm。6. 用鼠標(biāo)右鍵單擊ListBox控件,然后單擊屬性。7. 在RowSource屬性,鍵入Sheet1A1:A5!8. 將CommandButton控件添加到UserF
34、orm。9. 雙擊以顯示代碼窗口為CommandButton控件CommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()ListBox1.RowSource=""EndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。11.ListBox控件,添加到UserForm具有值,您輸入Sheet填充。9. 單擊CommandButton1。從ListBox1中刪除所有項(xiàng)目。如何從不綁定到工作表ListBox控件中刪除所有項(xiàng)目沒(méi)有沒(méi)有單個(gè)VBA命令如果沒(méi)有綁定到工作表列表,從L
35、istBox控件刪除所有項(xiàng)目。要從ListBox控件從VisualBasic數(shù)組,填充刪除所有項(xiàng)目請(qǐng)按照下歹U步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將ListBox控件添加到UserForm。5. 在插入菜單上,單擊要插入模塊表模塊。在代碼窗口,鍵入如下代碼:SubPopulateListBox()DimMyArrayAsVariantDimCtrAsIntegerMyArray=Array("Apples","
36、Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUBound(MyArray)NextUserForm1.ShowEndSub6. 將CommandButton控件添加到UserForm。7. 雙擊以顯示代碼窗口為CommandButton控件CommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()Fori=1ToListBox1.L
37、istCount9.ListBox1.RemoveItem0NextIEndSub然后單擊運(yùn)行在工具菜單上,、"PopulateListBox,和宏。10.ListBox控件填充,并再出現(xiàn)UserForm。8. 單擊CommandButton1。從ListBox1中刪除所有項(xiàng)目。ComboBox控件您可以使用ComboBox控件作為在下拉列表框中,或組合框其中您可選擇列表中值或鍵入新值。Style屆性決定如果ComboBox控件作為下拉歹U表框或組合框。注意前述對(duì)ListBox控件中所有示例也能應(yīng)用到ComboBox控件,除例如獲取多選擇ListBox控件中選定項(xiàng)"如何”。
38、如何向列表添加新項(xiàng)目如果ComboBox控件未綁定到工作表鍵入值是未在歹0表中ComboBox控件,時(shí)可能要向歹0表添加新值。要添加新值,如果ComboBox控件未綁定到工作表,ComboBox控件中鍵入請(qǐng)按照下歹U步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將ComboBox控件添加到UserForm。5. 在插入菜單上,單擊要插入模塊表模塊。在代碼窗口,鍵入如下代碼:SubPopulateComboBox()DimMyArrayAsVari
39、antDimCtrAsIntegerMyArray=Array("Apples","Oranges","Peaches","Bananas","Pineapples")ForCtr=LBound(MyArray)ToUbound(MyArray)6. NextUserForm1.ShowEndSub將CommandButton控件添加到UserForm。7. 雙擊以顯示代碼窗口為CommandButton控件CommandButton控件。在代碼窗口,為CommandButton1Click事件
40、鍵入下列代碼:PrivateSubCommandButton1_Click()DimlistvarAsVariantlistvar=ComboBox1.ListOnErrorResumeNext'Iftheitemisnotfoundinthelist.-IfIsError(WorksheetFunction.Match(ComboBox1.Value,listvar,0)Then'addthenewvaluetothelist.ComboBox1.AddItemComboBox1.ValueEndIfEndSub然后單擊運(yùn)行在工具菜單上,、"PopulateList
41、Box,和宏。10.填充組合框控件,并再出現(xiàn)UserForm。8. ComboBox控件,中鍵入Mangoes(或任何值尚未是列表中)。9. 單擊CommandButton1。現(xiàn)在您鍵入新值將在列表末尾。如何向列表添加新項(xiàng)目如果ComboBox控件綁定到工作表當(dāng)用戶鍵入值是未在列表中ComboBox控件,可能需要新值添加到列表。要添加該列表,ComboBox控件中鍵入新值請(qǐng)按照下歹U步驟操作:1.2.3.啟動(dòng)Excel,并打開(kāi)新空白工作簿單元格A1:A5Sheet,中鍵入值與要用于填充組合框控件選擇單元格A1:A5Sheet1上插入菜單上指向名稱,然后單擊定義,在工作簿中名稱框中,鍵入List
42、Range,然后單擊確定。這創(chuàng)建ListRange定義名稱。使用定義名稱ListRange將ComboBox控件的RowSource屬性綁定到工作表。5. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。6. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。7. 將ComboBox控件添加到UserForm。8. 對(duì)于ComboBox1,屬性中鍵入與RowSource屬性ListRangeSheet1將CommandButton控件添加到UserForm。9. 雙擊以顯示代碼窗口為CommandButton控件CommandButton控件。在代碼窗口,為Comm
43、andButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()DimSourceDataAsRangeDimfoundAsObjectSetSourceData=Range("ListRange")Setfound=Nothing'Trytofindthevalueontheworksheet.Setfound=SourceData.Find(ComboBox1.Value)'Iftheitemisnotfoundinthelist.IffoundIsNothingThen'redefineListR
44、ange.Addthenewitemtotheendofthelistontheworksheet.=ComboBox1.Value'ResetthelistdisplayedintheComboBox.ComboBox1.RowSource=Range("listrange").Address(external:=True)EndIfEndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。12.UserForm出現(xiàn)在Sheet1。10. ComboBox控件,中鍵入值尚未列表中。11. 單擊CommandButton1。ComboBox控件中鍵入新項(xiàng)目添加到歹U表,并
45、范圍擴(kuò)展到包括單元A1:A6,ComboBox控件綁定到列表。當(dāng)出現(xiàn)UserForm如何顯示ComboBox控件歹U表有時(shí),可能非常有用以UserForm首次出現(xiàn)時(shí)顯示ComboBox控件的歹U表。以下示例使用是UserFormActivate事件。要顯示的ComboBox控件,歹U表請(qǐng)按照下歹U步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 單元格A1:A5Sheet,中鍵入值與要用于填充組合框控件。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。5. 將ComboBox控件添加到UserFo
46、rm。6. 對(duì)于ComboBox1,屬性中鍵入Sheet1與RowSource屬性A1:A5!7. 雙擊以顯示代碼窗口對(duì)于UserFormUserForm。在代碼窗口,為CommandButtonClick事件鍵入下列代碼:PrivateSubUserFormActivate()8.8. ComboBox1.DropDownEndSub在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。UserForm,Sheet1上出現(xiàn),您可看到該歹U表對(duì)丁ComboBox1。當(dāng)其他ComboBox控件中進(jìn)行選擇如何顯示一個(gè)ComboBox控件歹U表要,ComboBox控件中進(jìn)行選擇時(shí)自動(dòng)顯示一個(gè)ComboBox控件的
47、歹U表請(qǐng)按照下歹U步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在單元格A1:A10Sheet,輸入值與要用于填充組合框控件。3. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。4. 在插入菜單上,單擊模塊。在代碼窗口為模塊,鍵入如下代碼:SubDropDownComboBox()5.5. EndSub在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。6. 將ComboBox控件添加到UserForm。7. 對(duì)于ComboBox1,屬性中鍵入Sheet1與RowSource屬性A1:A5!8. 雙擊要打開(kāi)代碼窗口對(duì)ComboBox控件ComboBox控
48、件。在代碼窗口對(duì)ComboBox控件,為ComboBoxClick事件鍵入下列代碼:11. °PrivateSubComboBox1_Click()Application.OnTimeNow,"DropDown_ComboBox”EndSub添加到UserForm二ComboBox控件。12. 對(duì)于ComboBox2,屬性中鍵入Sheet1與RowSource屬性A6:A10!13. 在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。對(duì)丁ComboBox2歹0表單擊,ComboBox1歹U表中的項(xiàng)目時(shí)將自動(dòng)出現(xiàn)框架控件使用Frame控件來(lái)分組UserForm中邏輯相關(guān)項(xiàng)。框架控件經(jīng)常
49、用丁分組OptionButton控件。如何循環(huán)Frame控件上的所有控件要使用EacheiNextFor循環(huán)來(lái)訪問(wèn)框架控件,中所有控件請(qǐng)按照下列步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將Frame控件添加到UserForm。OptionButton控件添加到Frame控件。5.重復(fù)此步驟向Frame控件中添加兩個(gè)詳細(xì)OptionButton控件。5. 雙擊要打開(kāi)代碼窗口對(duì)Frame控件Frame控件。在代碼窗口,為框架Click事件鍵入下列代碼
50、:PrivateSubFrame1_Click()DimCtrlAsControlForEachCtrlInFrame1.ControlsCtrl.Enabled=NotCtrl.EnabledNextEndSub6. 在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。7. 在UserForm,單擊Frame控件。首次您單擊框架控件,Frame控件中所有控件是不可用。如果再次,單擊Frame控件控件可再次。OptionButton控件可使用OptionButton控件組進(jìn)行一個(gè)選擇的選項(xiàng)組中。使用以下技術(shù)到組OptionButton控件之一:?框架控件?GroupName屬性注意On值,是值,和True
51、值表明已選中一個(gè)OptionButton。Off值、無(wú)值,和False值表明未選中OptionButton攻擊。如何確定當(dāng)OptionButton控件位丁Frame控件被選中OptionButton控件通過(guò)使用Frame控件,OptionButtons控件分組時(shí)您可以確定通過(guò)循環(huán)Frame控件中所有控件并檢查Value屆性的每個(gè)控件是選定OptionButton控件。要確定所選,OptionButton控件請(qǐng)按照下歹U步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2.在工具菜單,指向宏,然后單擊VisualBasic編輯器。在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm將
52、Frame控件添加到UserFormOptionButton控件添加到Frame控件。5.重復(fù)此步驟向Frame控件中添加兩個(gè)詳細(xì)OptionButton控件。6. 添加一個(gè)CommandButton控件UserForm之外Frame控件上雙擊以顯示代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,為CommandButton1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()ForEachxInFramel.ControlsIfx.Value=TrueThen8.7. MsgBoxx.CaptionEndIfNextEndSub
53、在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。8. UserForm,中一個(gè)OptionButton控件,依次CommandButton1。將出現(xiàn)一個(gè)消息框包含當(dāng)前選定OptionButton控件的題注。如何確定所選OptionButton控件對(duì)以下示例目的是為了確定Group1中選定OptionButton控件。若要?jiǎng)?chuàng)建具有兩個(gè)OptionButton控件組,UserForm請(qǐng)按照下歹U步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將Frame控件添加到
54、UserForm。Frame控件中添加一個(gè)OptionButton控件。5.重復(fù)此步驟向Frame控件中添加兩個(gè)詳細(xì)OptionButton控件。5. 對(duì)于每個(gè)OptionButton控件,在GroupName屬性鍵入Group1。6. 重復(fù)步驟4和5以創(chuàng)建包含三個(gè)OptionButton控件二Frame控件。7. 對(duì)于每個(gè)OptionButton控件在第二個(gè)框架控件,在GroupName屬性鍵入Group2。8. 添加一個(gè)CommandButton控件UserForm之外Frame控件上。9. 雙擊以顯示代碼窗口對(duì)于UserFormCommandButton控件。在代碼窗口,為Command
55、Button1Click事件鍵入下列代碼:PrivateSubCommandButton1_Click()DimxAsControl'LoopthroughALLthecontrolsontheUserForm.ForEachxInMe.Controls'Checktoseeif"Option"isintheNameofeachcontrol.IfInStr(x.Name,"Option")Then'CheckGroupname.Ifx.GroupName="Groupl"Then'Checkthest
56、atusoftheOptionButton.Ifx.Value=TrueThenMsgBoxx.CaptionExitForEndIfEndIfEndIfNextEndSub9. 在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用戶窗體。10. UserForm,中Group1,中一個(gè)OptionButton控件依次CommandButton1。將出現(xiàn)一個(gè)消息框包含OptionButton控件當(dāng)前選定的標(biāo)題。CheckBox控件您可以使用CheckBox控制來(lái)指示真或假值。帶有復(fù)選標(biāo)記中出現(xiàn)CheckBox控件指示值為True。與沒(méi)有復(fù)選標(biāo)記出現(xiàn)CheckBox表示值為False。如果TripleState屆性
57、的值為True,CheckBox控件還可以Null值。可用似乎具有Null值CheckBox控件。注意On值,是值,和True值表明,CheckBox控件被選定。Off值、無(wú)值,和False值表明CheckBox控件已活除。如何檢查CheckBox控件的值要使用Value屆性以返回當(dāng)前值的CheckBox控件,請(qǐng)按照下列步驟:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serFormUserForm。4. 將CheckBox控件添加到UserForm。5. 在屬性列表對(duì)于CheckBox1,
58、選擇True與TripleState屬性。6. 雙擊CheckBox控件以顯示代碼窗口為CheckBox控件。在代碼窗口,為CheckBox1Change事件鍵入下列代碼:PrivateSubCheckBox1_Change()SelectCaseCheckBox1.ValueCaseTrueCheckBox1.Caption="True"CaseFalseCheckBox1.Caption="False"CaseElseCheckBox1.Caption="Null"EndSelectEndSub8.在運(yùn)行菜單上,單擊運(yùn)行子過(guò)程/用
59、戶窗體當(dāng)您單擊CheckBox控件,標(biāo)題的CheckBox控件更改以反映當(dāng)前值。切換按鈕控件切換按鈕控件具有相同外觀作為一個(gè)CommandButton控件在您單擊它。當(dāng)單擊切換按鈕控件,它似乎按或推。當(dāng)未選中按鈕Value屆性的切換按鈕控件是True選擇按鈕時(shí),F(xiàn)alse。如果TripleState屆性的值為True,ToggleButton控件還可以Null值。可用似乎具有Null值切換按鈕控件。注意On值,是值,和True值表明選定ToggleButton控件。Off值、無(wú)值,和False值表明未選中ToggleButton控件。如何獲取ToggleButton控件的值要獲取值ToggleButton控件,請(qǐng)按照下歹U步驟操作:1. 啟動(dòng)Excel,并打開(kāi)新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 診療項(xiàng)目協(xié)議書范本
- 貨車轉(zhuǎn)讓合同協(xié)議書范本
- 貸款付款方式合同協(xié)議
- 贛州家庭團(tuán)聚協(xié)議書模板
- 設(shè)計(jì)訂金協(xié)議書范本
- 貿(mào)易場(chǎng)地出租合同協(xié)議
- 湖南省長(zhǎng)沙市雅禮集團(tuán)八校聯(lián)考2024-2025學(xué)年高一下學(xué)期4月期中地理試題(原卷版+解析版)
- 2025年大學(xué)物理交互式實(shí)驗(yàn)試題及答案
- 2025年酒店管理職業(yè)資格考試試卷及答案
- 2025年口腔醫(yī)學(xué)執(zhí)業(yè)醫(yī)師考試試題及答案
- 房地產(chǎn)廣告效果的評(píng)測(cè)與分析
- 2025年北京市石景山區(qū)九年級(jí)初三一模語(yǔ)文試卷(含答案)
- 華大新高考聯(lián)盟2025屆高三4月教學(xué)質(zhì)量測(cè)評(píng)歷史+答案
- T-CASEI 015-2023叉車使用安全管理規(guī)范
- 首次透析患者健康教育
- 山洪災(zāi)害防御知識(shí)課件
- 血吸蟲防急感課件
- 弱電基礎(chǔ)知識(shí)單選題100道及答案
- 殯葬法律法規(guī)試題及答案
- 帶貨主播職業(yè)發(fā)展路徑與技能提升指南
- 2024福建省能源石化集團(tuán)有限責(zé)任公司秋季社會(huì)招聘120人筆試參考題庫(kù)附帶答案詳解
評(píng)論
0/150
提交評(píng)論