vba控件常規(guī)使用UserForm基礎(chǔ)_第1頁
vba控件常規(guī)使用UserForm基礎(chǔ)_第2頁
vba控件常規(guī)使用UserForm基礎(chǔ)_第3頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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可決定何時導(dǎo)致此開銷。要加載到內(nèi)存UserForml不顯示它,使用以下代碼:Load UserForml若要顯示UserForm,必須使用以前已顯示顯示方法。如何以暫時隱藏 UserForm如果要暫時隱藏 UserForm,使

2、用隱藏方法。可能想要隱藏UserForm如果應(yīng)用程序涉 及用戶窗體之間移動。要隱藏UserForm,使用以下代碼:UserForml.Hide如何從內(nèi)存刪除 UserForm要從內(nèi)存,刪除UserForm 使用 Un load語句。 要卸載,名為 UserForml, UserForm使用以下代碼:Uni oad UserForml如果您卸載 UserForm, 是與UserForm或者,是與UserForm上控件的事件過程中 (例如,您單擊CommandButton 控件),您可以使用我關(guān)鍵字代替的UserForm 名稱。 將關(guān)鍵字用于卸載 UserForm, Me 使用以下代碼:Un lo

3、ad Me如何使用UserForm 事件支持許多預(yù)定義事件,可以附加到VBA過程。在事件發(fā)生時,該附加到事件過程運(yùn)行。 單個操作由用戶執(zhí)行可初始化多事件。之間最經(jīng)常對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. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。UserForm 首先加載,時宏使用Initialize事件改為事件事件事件!和BackColor屬 性以深藍(lán)色的 UserForm Captio n 屬性。當(dāng)您單擊 UserForm,您初始化 Click事件。調(diào)整UserForm Click 事件。因?yàn)槟鷦?chuàng)建Resize事件,過程單擊UserForm 后收到兩個消息框。因?yàn)镃

7、lick事件代碼更改寬度屬性和 Height屬性是 UserForm Resize 事件發(fā)生兩次。關(guān)閉UserForm 初始化 QueryClose 事件。QueryClose 事件顯示消息框包含標(biāo)題為Initialize事件,您賦予UserForm代碼中??梢允褂脮r要執(zhí)行特定的操作集如果用戶關(guān) 閉 UserForm QueryClose 事件。然后生成一個消息框,指出標(biāo)題為UserForm是UserForml Terminate 事件。從內(nèi)存中刪除UserForm并返回到其原始狀態(tài)標(biāo)題為UserForm后Terminate事件發(fā)生。如何防止UserForm關(guān)閉通過關(guān)閉按鈕當(dāng)您運(yùn)行UserFo

8、rm,關(guān)閉 按鈕添加到UserForm 窗口的右上角。如果要防止UserForm關(guān)閉通過關(guān)閉按鈕,您必須捕獲QueryClose事件。QueryClose事件UserForm是從內(nèi)存中卸載之前發(fā)生。CloseMode CloseMode 參數(shù)來確定如何 UserForm關(guān)閉使用QueryClose事件 vbFormC on trolMe nu 值為CloseMode CloseMode 參數(shù)表示時, 單擊關(guān)閉按鈕。要保持活動,UserForm 將 Can cel取消對QueryClose 事件參數(shù)為 True 。 要使用 QueryClose 事件來防止 關(guān)閉通過關(guān)閉按鈕,請按照下列步驟:Ex

9、cel中創(chuàng)建新工作簿。UserForm1.2.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3.在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm 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.在 運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。當(dāng)您單擊關(guān)閉按鈕 UserForm 未關(guān)閉。 您必須單擊 CommandButton 控件關(guān)閉UserForm注意:代碼包含在本文中不包含影響所有屬性和對控件事件的示例。 如果您不得不,請 使用屬性窗口要查看可供控件屬性的列表。 要在視圖菜單上,查看列表的屬性,請單擊 屬性窗口 。如何使用設(shè)計(jì)模式來編輯控件當(dāng)您使用Visual

11、Basic編輯器來設(shè)計(jì)一個對話框,使用設(shè)計(jì)模式。在設(shè)計(jì)模式,您可編 輯控件和可更改屬性在屬性窗口 UserForm 上的控制。 若要顯示屬性窗口,在 視圖 菜 單上,單擊屬性窗口 。當(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) 行以下語法是:=值例如,如果要設(shè)置名為 TextBox ,名為到值是 Bo

12、b , UserForml UserForm 上TextBox 控件的Text屬性使用以下代碼:如果代碼是通過事件的控件或者通過UserForm,啟動過程中是您不需要引用名為UserForm。 而,使用以下代碼:TextBoxl.Text = Bob當(dāng)向?qū)ο螅郊哟a代碼附加到之一為對象事件。眾多,本文示例中,將代碼附加到Click 事件是 CommandButton 對象。標(biāo)簽控件標(biāo)簽控件主要用于描述 UserForm上其他控件。運(yùn)行UserForm時Label控件不能編 輯由用戶。使用Caption屬性到設(shè)置或返回一個 Label控件中文本。用于格式化 Label控件其他常用屬性包括字體屬

13、性和ForeColor屬性。如何使用 WITH語句設(shè)置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. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。9. 單擊 CommandButton 。文本粗 TimesNewRoman 用字體大小是14中Label控件上顯示Thisis標(biāo)簽示例1IITextBox 控件TextBox控件經(jīng)常用于收集來自用戶輸入。Text屬性包含項(xiàng),TextBox 控件中進(jìn)行。如何使用TextBox控件來驗(yàn)證密碼如果您設(shè)置 TextBox 控件,PasswordChar屬性的它成為masked -編輯控件。由 字符指定可視取代 TextBox控件中鍵入的每個字符。 要使用

16、TextBox控件來驗(yàn)證密碼, 請按照下列步驟: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. 在 運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體對于本例,密碼是userform 。如果您鍵入正確密碼,您收到一個消息框, 指出密碼不 正確,然后重新鍵入密碼可清除

18、 TextBox控件,并且。當(dāng)您鍵入正確密碼,收到歡迎消 息,并 UserForm 關(guān)閉。Comma ndButt on控件您可以使用CommandButton 控制來啟動VBA過程。VBA過程通常附加到CommandButton 控件的Click事件。 要使用 CommandButton 控件 Click事件發(fā)生, 時,運(yùn)行過程請按照步驟: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. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。Comma ndButt on 1 控件的背景顏色更改每次您單擊它。ListBox 控件ListBox控件的目的是為了向用戶

20、顯示要選擇的項(xiàng)目列表。您可以存儲為Excel工作表上ListBox控件項(xiàng)目列表。 使用RowSource 屬性來填充工作表,上ListBox控件與范 圍的單元格。ListBox控件在使用MultiSelect屬性,時可設(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

21、. 在插入菜單上,單擊要在工作簿中插入 UserForm UserForm 。5. 將ListBox 控件添加到 UserForm。6. 雙擊ListBox控件以顯示代碼窗口對 ListBox控件。7. 在代碼窗口,為ListBox 1 Click 事件鍵入下列代碼:Private Sub ListBox1_Click()MsgBox ListBox1.ValueEnd Sub8. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。當(dāng)單擊列表,中的項(xiàng)目與當(dāng)前選定項(xiàng)目將出現(xiàn)一個消息框。如何獲取多選擇ListBox控件中選定項(xiàng)確定多選擇ListBox控件,中所選項(xiàng)目必須循環(huán)列表,中所有項(xiàng)目并再查詢 Sele

22、cted屬 性。要返回多選擇,ListBox控件中當(dāng)前選定項(xiàng)請按照下列步驟操作: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. 在運(yùn)行 菜單上,單擊運(yùn)行子過程/用戶窗體。12. 列表中選擇一個或多個項(xiàng)目。13. 單擊 CommandButton 1 。單擊CommandButton 1 ,后,在ListBox控件中選擇每個項(xiàng)目顯示在一個單獨(dú)的消息 框。UserForm在消息框中,出現(xiàn)所有選定項(xiàng)后自動關(guān)閉。如何使用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在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。9.注意ListBox 1 不包含任何值。10.單擊 CommandButton 1ListBox 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.

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.然后單擊 運(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. 在單元格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. 然后單擊 運(yùn)行在工具菜單上,、PopulateListWithHorizontalRange, 和宏。在單元格 A 1:

30、 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由該單元格中鍵入以下數(shù)據(jù):A 1:年 B 1:區(qū)域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. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm 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. 在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。當(dāng)您單擊ListBox控件,中一個條目標(biāo)簽將更改為顯示該條目中所有三個項(xiàng)目。 如何從綁定到工作表 ListBox控件中刪除所有項(xiàng)目要從ListBox控件綁定到工作表,刪除所有項(xiàng)目清除, 是存儲在RowSource屬性值。 要從ListBox控件綁定到工作表,刪除項(xiàng)目請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在單元格 A 1: A 5 Sheet,鍵入了您要用于填充 ListBo

34、x控件值。3. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4. 在插入菜單上,單擊要在工作簿中插入 UserForm UserForm 。5. 將ListBox 控件添加到 UserForm。6. 用鼠標(biāo)右鍵單擊 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在運(yùn)行 菜單上,單擊運(yùn)行子過程/用戶窗體。11.ListBox 控件, 添加到 UserForm 具有值, 您輸入 Sheet填充。10. 單擊 CommandButton 1。從ListBox 1中刪除所有項(xiàng)目。如何從不綁定到工作表ListBox 控件中刪除所有項(xiàng)目沒有沒有單個 VBA命令如果沒有綁定到工作表列表,從ListBox控件刪除所有項(xiàng)目。要從ListBox控件從VisualBasic數(shù)組,填充刪除所有項(xiàng)目請按照下列步驟: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然后單擊運(yùn)行在工具菜單上八PopulateListBox , 和宏。10.ListB

38、ox 控件填充,并再出現(xiàn) UserForm。9. 單擊 CommandButton 1。從ListBox 1中刪除所有項(xiàng)目。ComboBox 控件您可以使用ComboBox控件作為在下拉列表框中,或組合框其中您可選擇列表中值或鍵 入新值。Style屬性決定如果ComboBox控件作為下拉列表框或組合框。注意前述對ListBox 控件中所有示例也能應(yīng)用到ComboBox 控件,除例如獲取多選擇ListBox控件中選定項(xiàng)如何。如何向列表添加新項(xiàng)目如果ComboBox 控件未綁定到工作表鍵入值是未在列表中 ComboBox控件,時可能要向列表添加新值。要添加新值,如果ComboBox控件未綁定到工作

39、表,ComboBox控件中鍵入請按照下列步驟操作:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器3. 在插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm 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然后單擊運(yùn)行在工具菜單上八PopulateListBox , 和宏。10.填充組合框控件,并再出現(xiàn) UserForm。10. ComboBox 控件,中鍵入 Mangoes (或任何值尚未是列表中)。11. 單擊 Command

42、Button 1?,F(xiàn)在您鍵入新值將在列表末尾。如何向列表添加新項(xiàng)目如果ComboBox 控件綁定到工作表當(dāng)用戶鍵入值是未在列表中ComboBox控件,可能需要新值添加到列表。要添加該列表,ComboBox控件中鍵入新值請按照下列步驟操作:..2.13.14.啟動Excel,并打開新空白工作簿。單元格 A 1: A 5 Sheet,中鍵入值與要用于填充 組合框 控件。選擇單元格 A 1: A 5 Sheet 1 上。插入菜單上指向名稱,然后單擊定義。在工作簿中名稱框中,鍵入ListRange ,然后單擊確定。這創(chuàng)建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在運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。UserForm 出現(xiàn)在 Sheet 1。ComboBox控件,中鍵入值尚未列表中。單擊 CommandButton 1。ComboBox控件中鍵入新項(xiàng)目添加到列表,并

46、范圍擴(kuò)展到包括單元 A1:A6 , ComboBox 控件綁定到列表。當(dāng)出現(xiàn)UserForm 如何顯示ComboBox 控件列表有時,可能非常有用以 UserForm首次出現(xiàn)時顯示 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. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。UserForm, Sheet 1 上出現(xiàn), 您可看到該列表對于 ComboBox 1。當(dāng)其他ComboBox 控件中進(jìn)行選擇如何

48、顯示一個 ComboBox 控件列表控件的列表請按照下列步驟要,ComboBox 控件中進(jìn)行選擇時自動顯示一個 ComboBox操作:1.啟動Excel,并打開新空白工作簿。4.在插入菜單上,單擊模塊。2.在單元格 A 1: A 10 Sheet,輸入值與要用于填充 組合框 控件。3.在工具菜單,指向宏,然后單擊 VisualBasic編輯器。在代碼窗口為模塊,鍵入如下代碼:5.Sub DropDow n_ComboBox()End Sub6.在 插入 菜單上,單擊要在工作簿中插入U(xiǎn)serForm 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.在運(yùn)行菜單上,單擊運(yùn)行子

50、過程/用戶窗體。對于 ComboBox2 列表單擊,ComboBox 1 列表中的項(xiàng)目時將自動出現(xiàn)框架控件使用Frame控件來分組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 控

51、件添加到 Frame控件。5.重復(fù)此步驟向 Frame控件中添加兩個詳細(xì) 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. 在 運(yùn)行 菜單上,單擊 運(yùn)行子過程/用戶窗體。8. 在 UserForm,單擊 Frame 控件。首次您單擊框架控件,Frame控件

52、中所有控件是不可用。如果再次,單擊Frame控件控件可再次。Optio nButt on控件可使用OptionButton控件組進(jìn)行一個選擇的選項(xiàng)組中。 使用以下技術(shù)到組 OptionButton 控件之一:? 框架控件? GroupName 屬性注意On值,是值,和True值表明已選中一個 OptionButton。Off值、無值,和False值表明未選中 OptionButton攻擊。如何確定當(dāng) OptionButton控件位于Frame控件被選中OptionButton控件通過使用Frame控件,OptionButtons 控件分組時您可以確定通過循環(huán)Frame控件中所有控件并檢查Val

53、ue屬性的每個控件是選定OptionButton控件。要確定所選,Optio nButt on控件請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。4. 將Frame控件添加到 UserForm。OptionButton 控件添加到 Frame控件。5.重復(fù)此步驟向 Frame控件中添加兩個詳細(xì) 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. 在運(yùn)行菜單上,單擊運(yùn)行子過程/用戶窗體。8. UserForm , 中一個 OptionButton 控件,依次 CommandButton 1。將出現(xiàn)一個消息框包含當(dāng)前選定Optio nButt on控件的題注。如何確定所選 Optio nButt on控件對以下示例目的是為了確定Group1

55、中選定OptionButton控件。若要創(chuàng)建具有兩個OptionButton控件組,UserForm請按照下列步驟:1. 啟動Excel,并打開新空白工作簿。2. 在工具菜單,指向宏,然后單擊 VisualBasic編輯器。3. 在插入菜單上,單擊要在工作簿中插入U(xiǎn)serForm UserForm 。4. 將Frame控件添加到 UserForm。Frame控件中添加一個 OptionButton 控件。5.重復(fù)此步驟向 Frame控件中添加兩個詳細(xì) OptionButton 控件。6.對于每個OptionButton 控件,在GroupName 屬性鍵入Group17. 重復(fù)步驟 4和5以創(chuàng)建包含三個 OptionButton 控件二Frame控件8.對于每個OptionButt

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論