




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、vba控件常規(guī)使用UserForm 基礎(chǔ)女M可顯示 UserForm以下是用于顯示 UserForm編程語法是:UserFormName .Show要顯示名為 UserForml, UserForm使用以下代碼:UserForml.Show不顯示它實(shí)際上還能加載 UserForm裝入內(nèi)存。復(fù)雜UserForm可能需要幾秒鐘以顯示。 因?yàn)轭A(yù)先您能加載到內(nèi)存,UserForm可決定何時(shí)導(dǎo)致此開銷。要加載到內(nèi)存 UserForml不顯示它,使用以下代碼:Load UserForml若要顯示UserForm,必須使用以前已顯示顯示方法。如何以暫時(shí)隱藏UserForm如果要暫時(shí)隱藏 UserForm,使
2、用隱藏方法??赡芟胍[藏 UserForm如果應(yīng)用程序涉 及用戶窗體之間移動。要隱藏UserForm,使用以下代碼:UserForml.Hide如何從內(nèi)存刪除UserForm要從內(nèi)存,刪除UserForm 使用Unioad語句。要卸載,名為UserForml, UserForm 使 用以下代碼:Uni oad UserForml如果您卸載 UserForm , 是與UserForm 或者,是與UserForm 上控件的事件過程中 (例如,您單擊 CommandButton 控件),您可以使用 "我"關(guān)鍵字代替的 UserForm 名稱。 將關(guān)鍵字用于卸載 UserForm,
3、 " Me " 使用以下代碼:Un load Me如何使用UserForm 事件支持許多預(yù)定義事件,可以附加到 VBA過程。 在事件發(fā)生時(shí),該附加到事件過程運(yùn)行。單個操作由用戶執(zhí)行可初始化多事件。之間最經(jīng)常對 UserForm使用事件是Ini tialize事件、Click事件,和Terminate 事件。注意包含事件過程 Visual Basic模塊可能稱為”后面” UserForm模塊。模塊包含事件 過程是不可見的 VisualBasic 編輯器 Project MicrosoftInternetExplorer 窗口 Modules 集合中。您必須雙擊正文部分User
4、Form 以查看UserForm代碼模塊。如何捕獲UserForm 事件要捕獲UserForm事件,請按照下列步驟操作:1.Excel中創(chuàng)建新工作簿。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 mn
5、 itialize()Me.Captio n = "Eve nts Eve nts Eve nts!"Me.BackColor = RGB(10, 25, 100)End SubPrivate Sub UserForm_Resize()msg = "Width: " & Me.Width & Chr(10)& "Height: " & Me.Height5.MsgBox prompt:=msg, Title:="Resize Eve nt"End SubPrivate Sub Use
6、rForm_QueryClose(Ca ncel As In teger,CloseMode As In teger)msg = "Now Unloading " & Me.CaptionMsgBox prompt:=msg, Title:="QueryClose Eve nt"End SubPrivate Sub UserForm_Term in ate()msg = "Now Unloading " & Me.CaptionMsgBox prompt:=msg, Title:="Termi nate Ev
7、e nt"End Sub5. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。UserForm 首先加載,時(shí)宏使用Initialize事件改為”事件事件事件 !"和BackColor 屬 性以深藍(lán)色的 UserForm Cap tio n屬性。當(dāng)您單擊 UserForm, 您初始化 Click 事件。調(diào)整 UserForm Click 事件。因?yàn)槟鷦?chuàng)建Resize事件,過程單擊 UserForm 后收到兩個消息框。因?yàn)镃lick事件代碼更改寬度屬性和 Height屬性是 UserForm Resize 事件發(fā)生兩次。關(guān)閉UserForm 初始化QueryClose 事件。Query
8、Close 事件顯示消息框包含標(biāo)題為Initialize事件,您賦予UserForm代碼中??梢允褂脮r(shí)要執(zhí)行特定的操作集如果用戶關(guān) 閉 UserForm QueryClose 事件。然后生成一個消息框,指出標(biāo)題為 UserForm是UserForm1 Terminate 事件。從內(nèi)存中刪除UserForm并返回到其原始狀態(tài)標(biāo)題為UserForm后Terminate事件發(fā)生。如何防止UserForm 關(guān)閉通過關(guān)閉按鈕當(dāng)您運(yùn)行 UserForm,關(guān)閉 按鈕添加到 UserForm 窗口的右上角。如果要防止UserForm關(guān)閉通過關(guān)閉按鈕,您必須捕獲 QueryClose 事件。QueryClose
9、 事件 UserForm 是從內(nèi)存中卸載之前發(fā)生。使用 QueryClose 事件CloseMode CloseMode參數(shù)來確定如何 UserForm 關(guān)閉。vbFormCo ntrolMe nu值為CloseMode CloseMode參數(shù)表示時(shí), 單擊關(guān)閉按鈕。要保持活動,UserForm 將 Cancel取消對QueryClose 事件參數(shù)為 True 。 要使用QueryClose 事件來防止 UserForm 關(guān)閉通過關(guān)閉按鈕,請按照下列步驟:1.Excel中創(chuàng)建新工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)se
10、rForm UserForm4. 將 CommandButton 控件添加到 UserForm。5. 雙擊以顯示代碼窗口對于UserForm UserForm 。在代碼窗口,鍵入如下代碼:Private Sub Comma ndButt on 1_Click()Un load MeEnd SubPrivate Sub UserForm_QueryClose(Ca ncel As In teger,6. CloseMode As In teger)IF CloseMode = vbFormC on trolMe nu The nCan cel = TrueMe.Caption = "C
11、lick the CommandButton to close Me!"End IfEnd Sub7. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。當(dāng)您單擊關(guān)閉按鈕UserForm 未關(guān)閉。您必須單擊 CommandButton控件關(guān)閉UserForm 。注意:代碼包含在本文中不包含影響所有屬性和對控件事件的示例。如果您不得不,請使用屬性窗口要查看可供控件屬性的列表。要在視圖 菜單上,查看列表的屬性,請單擊屬性窗口 。如何使用設(shè)計(jì)模式來編輯控件當(dāng)您使用” VisualBasic 編輯器來設(shè)計(jì)一個對話框,使用設(shè)計(jì)模式。 在設(shè)計(jì)模式,您可編輯 控件和可更改屬性在屬性窗口UserForm 上的
12、控制。若要顯示屬性窗口 ,在 視圖 菜單上,單擊屬性窗口 。當(dāng)您處在設(shè)計(jì)模式注意控件不響應(yīng)與事件。當(dāng)您運(yùn)行一個對話框,顯示方式,用戶看到它,程序處于運(yùn)行模式。當(dāng)UserForm是從內(nèi)存中卸載將不會保留更改,對運(yùn)行模式中控件的屬性。注意 控件請回復(fù)到事件在運(yùn)行模式。如何引用UserForm 上控件如何您引用控件編程取決VisualBasic模塊表運(yùn)行代碼的類型。如果代碼從常規(guī)模塊,運(yùn)行以下語法是:UserFormName.Co ntrol name.Property=值例如,如果要設(shè)置名為TextBox , 名為到值是 Bob , UserForml UserForm 上TextBox控件的Te
13、xt屬性使用以下代碼:UserForm1.TextBox1.Text = "Bob"如果代碼是通過事件的控件或者通過UserForm,啟動過程中是您不需要引用名為UserForm 。 而,使用以下代碼:TextBox1.Text = "Bob"當(dāng)向?qū)ο螅郊哟a代碼附加到之一為對象事件。眾多,本文示例中,將代碼附加到Click事件是 CommandButton對象。標(biāo)簽控件標(biāo)簽控件主要用于描述UserForm 上其他控件。運(yùn)行UserForm 時(shí)Label控件不能編輯由用戶。使用Caption屬性到設(shè)置或返回一個Label控件中文本。用于格式化Label
14、控件其他常用屬性包括 字體屬性和ForeColor 屬性。如何使用WITH語句設(shè)置Label控件格式要使用WITH語句來更改屬性的Label控件,請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入 UserForm UserForm4. 將Label控件添加到 UserForm。5. 將 CommandButton 控件添加到 UserForm。6. 雙擊以打開代碼窗口對于UserForm CommandButton 控件。在代碼窗口,為CommandButton 1 Click事
15、件鍵入下列代碼:Private Sub Comma ndButto n1_Click()With Label17.'Set the text of the label.Capti on = "This is Label Example 1"'Automatically size the label con trol.AutoSize = True.Wordwrap = False'Set the font used by the Label con trol.Fon t.Name = "Times New Roma n".Fo n
16、t.Size = 14.Fon t.Bold = True'Set the font color to blue.ForeColor = RGB(0, 0, 255)End WithEnd Sub7. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。8. 單擊 CommandButton 。文本粗 TimesNewRoman用字體大小是 14中Label控件上顯示 "Thisis 標(biāo)簽示例 1II。TextBox 控件TextBox 控件經(jīng)常用于收集來自用戶輸入。Text屬性包含項(xiàng),TextBox 控件中進(jìn)行。如何使用TextBox控件來驗(yàn)證密碼如果您設(shè)置 TextBox 控件,Pa
17、sswordChar 屬性的它成為 "masked - 編輯"控件。 由字 符指定可視取代 TextBox控件中鍵入的每個字符。要使用TextBox控件來驗(yàn)證密碼,請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入 UserForm UserForm 。4. 將TextBox控件添加到 UserForm。5. 在視圖菜單上,單擊屬性以顯示屬性窗口。對TextBox控件,PasswordChar 屬性中鍵入 *6.注意您正將值改為星號。6. 將 CommandBut
18、ton 控件添加到 UserForm。7. 雙擊以打開代碼窗口對于UserForm CommandButton 控件。在代碼窗口,為 CommandButton 1 Click 事件鍵入下列代碼:Private Sub Comma ndButto n1_Click()If TextBox1.Text <> "userform" The nMsgBox "Password is In correct. Please reen ter."8. TextBox1.Text =""TextBox1.SetFocusElseMsgB
19、ox "Welcome!"Un load MeEnd IfEnd Sub9. 在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。10. 在 TextBox 控件中鍵入密碼 userform 。11. 單擊 CommandButton 控件。對于本例,密碼是"userform "。如果您鍵入正確密碼,您收到一個消息框, 指出密碼不 正確,然后重新鍵入密碼可清除 TextBox控件,并且。當(dāng)您鍵入正確密碼,收到歡迎消 息,并 UserForm 關(guān)閉。Comma ndButt on控件您可以使用 CommandButton 控制來啟動 VBA過程。VBA過程通常附加
20、到CommandButton控件的Click事件。要使用CommandButton控件Click事件發(fā)生,時(shí),運(yùn)行過程請按照步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊VisualBasic編輯器。3. 在插入 菜單上,單擊要在工作簿中插入 UserForm UserForm 。4. 將 CommandButton 控件添加到 UserForm。5. 雙擊以顯示代碼窗口對于 UserForm CommandButton 控件。在代碼窗口,鍵入如下代碼:Private Sub Comma ndButt on 1_Click()red = Int(Rnd *
21、255)6. green = In t(R nd * 255)blue = Int(Rnd * 255)CommandButton 1.BackColor = RGB(red,green,blue)End Sub7. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。Comma ndButton 1控件的背景顏色更改每次您單擊它。ListBox 控件ListBox控件的目的是為了向用戶顯示要選擇的項(xiàng)目列表。您可以存儲為 Excel工作表上ListBox控件項(xiàng)目列表。 使用 RowSource 屬性來填充工作表,上ListBox控件與范圍的 單元格。ListBox控件在使用 MultiSelect屬性,時(shí)
22、可設(shè)置為接受多重選擇。如何從ListBox控件獲取當(dāng)前選定項(xiàng)使用Value屬性的ListBox控件可返回當(dāng)前選定項(xiàng)。要返回單項(xiàng)選擇 ListBox控件,中當(dāng)前選定項(xiàng)請按照下列步驟操作:1.啟動Excel,并打開新空白工作簿2. 在單元格 A 1: A 5 Sheet,鍵入了您要用于填充 ListBox控件值。3. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。5. 將ListBox 控件添加到 UserForm。6. 雙擊ListBox控件以顯示代碼窗口對 ListBox控件。在代碼窗口,為ListBo
23、x 1 Click 事件鍵入下列代碼:7Private Sub ListBox1_Click()MsgBox ListBox1.ValueEnd Sub8. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。當(dāng)單擊列表,中的項(xiàng)目與當(dāng)前選定項(xiàng)目將出現(xiàn)一個消息框。如何獲取多選擇ListBox控件中選定項(xiàng)Selected 屬確定多選擇 ListBox控件,中所選項(xiàng)目必須循環(huán)列表,中所有項(xiàng)目并再查詢 性。 要返回多選擇,ListBox控件中當(dāng)前選定項(xiàng)請按照下列步驟操作:1. 啟動Excel,并打開新空白工作簿。2. 在單元格 A 1: A 5 Sheet,鍵入了您要用于填充 ListBox控件值。3. 在工具菜
24、單,指向宏,然后單擊 VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。5. 將 ListBox 控件添加到 UserForm。6. 在視圖菜單上,單擊屬性以查看屬性窗口。鍵入值,對于下列ListBox控件屬性表示:Property Value7. MultiSelect 1 - frmMultiSelectMulti RowSource Sheet1!A1:A88. 將 CommandButton 控件添加到 UserForm 。9. 雙擊以顯示代碼窗口對于UserForm CommandButton 控件。在代碼窗口,為Comman
25、dButton 1 Click事件鍵入下列代碼:Sub Comma ndButto n1_Click () 'Loop through the items in the ListBox.For x = 0 to ListBox1. ListCou nt - 1'If the item is selected.10. If ListBox1.Selected(x) = True The n'display the Selected item.MsgBox ListBox1.List(x)End If Next x End Sub11. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗
26、體。12.列表中選擇一個或多個項(xiàng)目。13.單擊 CommandButton 1。單擊CommandButton 1 ,后, 在ListBox控件中選擇每個項(xiàng)目顯示在一個單獨(dú)的消息框。UserForm 在消息框中,出現(xiàn)所有選定項(xiàng)后自動關(guān)閉。如何使用RowSource 屬性來填充工作表上以 ListBox 控件要使用RowSource屬性來填充工作表,上ListBox控件從范圍的單元格請按照下列步驟:1.啟動Excel,并打開新空白工作簿。2.在單元格 A 1: A 5 Sheet,鍵入了您要用于填充ListBox控件值。3.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4.在插入菜
27、單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。5.將ListBox控件添加到 UserForm。6.將 CommandButton控件添加到 UserForm。7.雙擊以顯示代碼窗口對于UserForm CommandButton控件。在代碼窗口,為CommandButton 1 Click事件鍵入下列代碼:8.Private Sub Comma ndButto n1_Click()ListBox1.RowSource = "=Sheet1!A1:A5"End Sub9.在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。注意ListBox 1不包含任何值。10.
28、單擊 CommandButton 1。ListBox 1填充單元格 A 1: A 5 Sheet 中有值。如何填充一個ListBox控件數(shù)組中有值下例顯示您如何填充以數(shù)組ListBox控件。數(shù)組中每次為 ListBox控件項(xiàng)必須分配值。通常,此過程要求您使用循環(huán)結(jié)構(gòu),如For aNext循環(huán)。 要填充以數(shù)組,ListBox控件請按照下列步驟操作:1.啟動Excel,并打開新空白工作簿。2.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3.在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。4.將ListBox控件添加到 UserForm。5.在插入菜單上,單擊
29、要插入模塊表 模塊。在代碼窗口,鍵入如下代碼:Sub PopulateListBox()6.Dim MyArray As Varia ntDim Ctr As In tegerMyArray = Array("Apples", "Ora nges", "Peaches", "Ba nan as", "P in eapples")For Ctr = LBou nd(MyArray) To UBou nd(MyArray)UserForml.ListBoxl.Addltem MyArray(Ctr)
30、NextUserForml.ShowEnd Sub7. 然后單擊 運(yùn)行在工具菜單上,、"PopulateListBox , 和宏。PopulateListBox 過程建立簡單數(shù)組,并數(shù)組中通過使用AddItem方法添加到 ListBox控件項(xiàng)目。 然后,UserForm 出現(xiàn)。如何使用工作表上水平的單元格區(qū)域來填充一個ListBox控件如果將ListBox控件的RowSource 屬性到水平區(qū)域的單元格 ,ListBox控件中第一個值 只會出現(xiàn)。要通過使用 AddItem 方法,ListBox控件從水平區(qū)域的單元格填充請按照下列步驟操作:1. 啟動Excel,并打開新空白工作簿。2.
31、 在單元格A1:E1 Sheet,鍵入了您要用于填充 ListBox控件值。3. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。5. 將ListBox控件添加到 UserForm。6. 在插入菜單上,單擊要插入模塊表 模塊。在代碼窗口,鍵入如下代碼:Sub PopulateListWithHorizo ntaIRa nge()For Each x In Sheet1.Ra nge("A1:E1")7. UserForm1.ListBox1.Addltem x.ValueNextUse
32、rForm1.ShowEnd Sub8. 然后單擊 運(yùn)行 在 工具 菜單上,、"PopulateListWithHorizontalRange , 和 宏。在單元格 A 1: E 5 Sheet,將值添加到 ListBox 1 一次循環(huán)宏過程。A 1: E 5 單元 注意ListBox 1 與不定 Sheet 1 上。如何從ListBox控件綁定到多列的數(shù)據(jù)返回多個值您可以格式 ListBox控件以顯示多個列的數(shù)據(jù)。這意味著ListBox控件,每個列表行上顯示多個項(xiàng)目。要多值列表,中選定項(xiàng)收益請按照下列步驟操作:1. 啟動Excel,并打開新空白工作簿。Sheet由該單元格中鍵入以下
33、數(shù)據(jù):A 1:年B 1:區(qū)域C1:銷售A 2: 1996 B:北美 C2: 1402.3 :1996 B 3:南非 C 3: 2.A 4: 1997 B4: 北美 C 4: 190A5: 1997 B 5: 南非 C 5: 195在工具菜單,指向宏,然后單擊 VisualBasic編輯器。在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm將Label控件添加到 UserForm。將ListBox 控件添加到 UserForm。7.右擊ListBox ,然后單擊屬性。鍵入或選擇值,都表示為下列屬性對ListBox控件與下表中列岀:Property Value8
34、.Boun dColu mn ColumnCount Column Heads RowSource13TrueSheet1!A2:A59.雙擊ListBox控件以顯示代碼窗口對ListBox控件。在代碼窗口,鍵入如下代碼: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)10.Val1 = ListBox1.ValueVal2 = SourceR
35、a nge.Offset(ListBox1.Listl ndex,1) .Resize(1, 1).ValueVal3 = SourceRa nge.Offset(ListBox1.Listl ndex,2) .Resize(1, 1).ValueLabel1.Captio n = Val1 & " " & Val2 & " " & Val3End Sub11.在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。當(dāng)您單擊ListBox控件,中一個條目標(biāo)簽將更改為顯示該條目中所有三個項(xiàng)目。如何從綁定到工作表ListBox控件中刪除所有項(xiàng)
36、目要從ListBox控件綁定到工作表,刪除所有項(xiàng)目清除,是存儲在RowSource 屬性值。1.ListBox控件綁定到工作表,刪除項(xiàng)目請按照下列步驟:啟動Excel,并打開新空白工作簿。2.在單元格 A 1: A 5 Sheet,鍵入了您要用于填充ListBox控件值。3.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4.在 插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm5.將ListBox 控件添加到 UserForm。6.用鼠標(biāo)右鍵單擊 ListBox控件,然后單擊屬性。7.在 RowSource 屬性,鍵入 Sheet 1 A 1: A 5!8. 將
37、 CommandButton 控件添加到 UserForm 。9. 雙擊以顯示代碼窗口為 CommandButton 控件 CommandButton 控件。在代碼窗口,為CommandButton 1 Click 事件鍵入下列代碼:Private Sub Comma ndButto n1 Click()10.ListBox1.RowSource =""End Sub在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。11.ListBox 控件, 添加到 UserForm 具有值, 您輸入 Sheet填充。12. 單擊 CommandButton 1。從ListBox 1中刪除所有
38、項(xiàng)目。如何從不綁定到工作表ListBox控件中刪除所有項(xiàng)目沒有沒有單個 VBA命令如果沒有綁定到工作表列表,從ListBox控件刪除所有項(xiàng)目。從ListBox控件從VisualBasic 數(shù)組,填充刪除所有項(xiàng)目請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3. 在 插入 菜單上,單擊要在工作簿中插入 UserForm UserForm 。4. 將ListBox控件添加到 UserForm。5. 在插入菜單上,單擊要插入模塊表 模塊。在代碼窗口,鍵入如下代碼:Sub PopulateListBox()Dim MyArr
39、ay As Varia ntDim Ctr As In tegerMyArray = Array("Apples", "Ora nges", "Peaches",6. "Banan as", "P ineap ples")For Ctr = LBou nd(MyArray) To UBou nd(MyArray)UserForm1.ListBox1.Addltem MyArray(Ctr)NextUserForm1.ShowEnd Sub7. 將 CommandButton 控件添加到 User
40、Form。8. 雙擊以顯示代碼窗口為CommandButton 控件CommandButton 控件。在代碼窗口,為CommandButton 1 Click事件鍵入下列代碼:Private Sub Comma ndButto n1_Click()For i = 1 To ListBox1. ListCou nt9.ListBox1.Removeltem 0Next IEnd Sub然后單擊 運(yùn)行 在 工具 菜單上八"PopulateListBox , 和宏。10.ListBox控件填充,并再出現(xiàn)UserForm11.單擊 CommandButton 1。從 ListBox 1中刪除
41、所有項(xiàng)目。ComboBox 控件您可以使用ComboBox 控件作為在下拉列表框中,或組合框其中您可選擇列表中值或鍵入新值。Style屬性決定如果 ComboBox控件作為下拉列表框或組合框。注意前述對ListBox 控件中所有示例也能應(yīng)用到ComboBox 控件,除例如獲取多選擇ListBox 控件中選定項(xiàng) ”如何”。如何向列表添加新項(xiàng)目如果ComboBox 控件未綁定到工作表鍵入值是未在列表中ComboBox 控件,時(shí)可能要向列表添加新值。要添加新值,如果ComboBox控件未綁定到工作表,ComboBox 控件中鍵入請按照下列步驟操作:1.啟動Excel,并打開新空白工作簿。2.在工具菜
42、單,指向宏,然后單擊 VisualBasic編輯器。3.在 插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。4.將 ComboBox 控件添加到 UserForm。5.在插入菜單上,單擊要插入模塊表 模塊。在代碼窗口,鍵入如下代碼:Sub PopulateComboBox()Dim MyArray As Varia ntDim Ctr As In tegerMyArray = Array("Apples","Ora nges","Peaches",6."Ba nan as","P
43、in eapples")For Ctr = LBou nd(MyArray) To Ubou nd(MyArray) UserForm1.ComboBox1.Addltem MyArray(Ctr) NextUserForm1.ShowEnd Sub7.將 CommandButton控件添加到 UserForm。8.雙擊以顯示代碼窗口為 CommandButton 控件 CommandButton 控件。 在代碼窗口,為CommandButton 1 Click事件鍵入下列代碼:Private Sub Comma ndButto n1_Click()Dim listvar As Va
44、ria nt9.listvar = ComboBox1.ListOn Error Resume Next'If the item is not found in the list.If lsError(WorksheetFu nctio n.Match(ComboBox1.Value, listvar,0) The n'add the new value to the list.ComboBox1.Addltem ComboBox1.ValueEnd IfEnd Sub10.11.然后單擊運(yùn)行在工具填充組合框ComboBox 控件,中鍵入菜單上,、"PopulateL
45、istBox , 和宏。控件,并再出現(xiàn) UserForm 。Mangoes (或任何值尚未是列表中)。12.單擊 CommandButton 1現(xiàn)在您鍵入新值將在列表末尾。如何向列表添加新項(xiàng)目如果 ComboBox 控件綁定到工作表當(dāng)用戶鍵入值是未在列表中ComboBox 控件,可能需要新值添加到列表。要添加該列表,ComboBox控件中鍵入新值請按照下列步驟操作:1.啟動Excel,并打開新空白工作簿。2.單元格 A 1: A 5 Sheet,中鍵入值與要用于填充組合框 控件。3.選擇單元格 A 1: A 5 Sheet 1上。插入菜單上指向名稱,然后單擊定義。4.在工作簿中名稱框中,鍵入L
46、istRange ,然后單擊確定。這創(chuàng)建ListRange定義名稱。使用定義名稱 ListRange 將ComboBox 控件的 RowSource 屬性綁定到工作表。5.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。6.在 插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm7.將 ComboBox 控件添加到 UserForm。8.對于 ComboBox 1 , 屬性 中鍵入與 RowSource 屬性 ListRange Sheet 1 !9.將 CommandButton控件添加到 UserForm 。10.雙擊以顯示代碼窗口為CommandButton
47、控件 CommandButton 控件。在代碼窗口,為CommandButton 1 Click事件鍵入下列代碼:Private Sub Comma ndButto n1_Click()Dim SourceData As RangeDim found As ObjectSet SourceData = Ran ge("ListRa nge")Set found = Noth ing'Try to find the value on the worksheet.Set found = SourceData.Fi nd(ComboBox1.Value)'If t
48、he item is not found in the list.If found Is Nothing Then'redefi ne ListRa nge.SourceData.Resize(SourceData.Rows.Co unt + 1, 1).Name ="ListRa nge"Add the new item to the end of the list on the worksheet.11.SourceData.Offset(SourceData.Rows.Co unt, 0).Resize(1, 1).Value _=ComboBox1.Valu
49、e'Reset the list displayed in the ComboBox. ComboBox1.RowSource =Ran ge("listra nge").Address(external:=True)End IfEnd Sub12.在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。UserForm 出現(xiàn)在 Sheet 1。13.ComboBox控件,中鍵入值尚未列表中。14.單擊 CommandButton 1。ComboBox 控件中鍵入新項(xiàng)目添加到列表 ,并范圍擴(kuò)展到包括單元A1:A6 , ComboBox控件綁定到列表。當(dāng)出現(xiàn)UserForm 如何
50、顯示ComboBox 控件列表有時(shí),可能非常有用以UserForm首次出現(xiàn)時(shí)顯示 ComboBox 控件的列表。以下示例使用是UserForm Activate 事件。 要顯示的 ComboBox 控件,列表請按照下列步驟操作:1.啟動Excel,并打開新空白工作簿。2.單元格A 1: A 5 Sheet,中鍵入值與要用于填充組合框 控件。3.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4.在 插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。5.將ComboBox 控件添加到 UserForm。6.對于ComboBox 1, 屬性 中鍵入 Sheet 1
51、 與 RowSource 屬性 A 1: A 5!7.雙擊以顯示代碼窗口對于UserForm UserForm 。在代碼窗口,為CommandButtonClick事件鍵入下列代碼:8.Private Sub UserForm_Activate() ComboBox1.DropDow n End Sub9.在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。UserForm, Sheet 1上出現(xiàn), 您可看到該列表對于 ComboBox 1 。當(dāng)其他ComboBox 控件中進(jìn)行選擇如何顯示一個 ComboBox 控件列表 要,ComboBox 控件中進(jìn)行選擇時(shí)自動顯示一個 ComboBox控件的列表請按照
52、下列步驟 操作:1.啟動Excel,并打開新空白工作簿。2.在單元格 A 1: A 10 Sheet,輸入值與要用于填充組合框 控件。3.在工具菜單,指向宏,然后單擊VisualBasic編輯器。4.在插入菜單上,單擊模塊。在代碼窗口為模塊,鍵入如下代碼:Sub DropDow n_ComboBox()5. UserForm1.ComboBox2.DropDow nEnd Sub6. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。7. 將 ComboBox 控件添加到 UserForm。8. 對于 ComboBox 1 , 屬性 中鍵入 Sheet 1 與 RowSo
53、urce 屬性 A 1: A 5!9. 雙擊要打開代碼窗口對ComboBox控件ComboBox 控件。在代碼窗口對 ComboBox 控件,為ComboBox Click 事件鍵入下列代碼:Private Sub ComboBox1 Click()10.Applicatio n.On Time Now, "DropDow n_ ComboBox"End Sub10. 添加到 UserForm 二 ComboBox 控件。11. 對于 ComboBox2 , 屬性 中鍵入 Sheet 1 與 RowSource 屬性 A6:A10 !12. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用
54、戶窗體。對于 ComboBox2 列表單擊,ComboBox 1 列表中的項(xiàng)目時(shí)將自動出現(xiàn)??蚣芸丶褂肍rame控件來分組 UserForm 中邏輯相關(guān)項(xiàng)??蚣芸丶?jīng)常用于分組Optio nButt on 控件。如何循環(huán)Frame控件上的所有控件要使用Eachd Next For循環(huán)來訪問 框架 控件,中所有控件請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入 UserForm UserForm 。4. 將Frame控件添加到 UserForm。OptionButton 控件添
55、加到 Frame控件。5.重復(fù)此步驟向 Frame控件中添加兩個詳細(xì) OptionButton 控件。5. 雙擊要打開代碼窗口對Frame控件Frame控件。在代碼窗口,為框架Click事件鍵入下列代碼:Private Sub Frame1_Click()Dim Ctrl As Co ntrol6. For Each Ctrl In Frame1.Co ntrolsCtrl.E nabled = Not Ctrl.E nabledNextEnd Sub7. 在 運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。首次您單擊框架控件,Frame控件中所有控件是不可用。如果再次,單擊Frame控件控件可再次
56、。Optio nButt on控件可使用 Optio nButt on 控件組進(jìn)行一個選擇的選項(xiàng)組中。使用以下技術(shù)到組Optio nButt on控件之一:? 框架控件? GroupName 屬性注意 On值,是值,和True值表明已選中一個OptionButton。Of值、無值,和False值表明未選中 Optio nButt on攻擊。如何確定當(dāng)OptionButton控件位于Frame控件被選中OptionButton控件通過使用 Frame控件,OptionButtons控件分組時(shí)您可以確定通過循環(huán)Frame控件中所有控件并檢查 Value屬性的每個控件是選定OptionButton 控件。要確定所選,Optio nButt on 控件請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。4. 將Frame 控件添加到 UserForm。OptionButton 控件添加到 Frame控件。5.重復(fù)此步驟向 Frame控件中添加兩個詳細(xì) OptionButton 控件。5. 添加一個 CommandButt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)課題申報(bào)書范例
- 區(qū)級教師課題申報(bào)書
- 合同范本修訂
- 合伙分紅合同范本
- 微課題申報(bào)書
- 教改課題申報(bào)書怎么填
- 銜接課題申報(bào)書范文
- 員工持股合同范本
- 國家申報(bào)書課題名稱結(jié)構(gòu)
- 個人購酒合同范本
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類機(jī)電設(shè)備故障預(yù)測、診斷研究
- 2024年江西應(yīng)用工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標(biāo)準(zhǔn)卷
- 新媒體營銷(第三版) 課件全套 林海 項(xiàng)目1-6 新媒體營銷認(rèn)知-新媒體營銷數(shù)據(jù)分析
- 愚公移山英文 -中國故事英文版課件
- 美制統(tǒng)一螺紋表UNC_UNF DS
- 2012年北京大學(xué)醫(yī)學(xué)部外國留學(xué)生本科入學(xué)考試
- 七年級英語閱讀理解50篇(附答案)
- 乙酸乙酯的制備ppt課件
- 音樂之聲中英文臺詞
評論
0/150
提交評論