資源描述:
《在Excel中制作下拉列表的方法.doc》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在應用文檔-天天文庫。
1、在Excel中制作下拉列表的方法下拉列表在Excel中的用途十分廣泛。在Excel中制作下拉列表可以通過數(shù)據(jù)有效性、使用窗體控件和VBA控件工具箱中的組合框來制作。下面我們用一個具體的例子來進行說明(在文章結(jié)尾處可下載xls格式的示例文件)。假如我們每個月都有一個工資表,其中每個員工的工資按照其出勤天數(shù)每個月都不相同。?????????我們需要制作一個“個人工資表”來查看每個人每個月的工資情況,這時就可以制作一個包含員工姓名下拉列表,在其中進行選擇來查看指定員工每個月的工資情況。???????????????方法一:使用數(shù)據(jù)有效性????通過數(shù)據(jù)有效性可以在單元格中提供一個下
2、拉箭頭,單擊下拉箭頭會彈出下拉列表。因為員工姓名都在每月的工資表中,而“個人工資表”中沒有這些人員姓名,所以我們必需先定義名稱,以便在“個人工資表”中設置數(shù)據(jù)有效性時進行引用。???定義名稱的方法是單擊菜單“插入→名稱”,在定義名稱對話框中進行定義,這里將“1月工資”表中的姓名區(qū)域B3:B14定義為“姓名”,如圖。???????????????1.假如下拉列表放在“個人工資表”的C1單元格,選擇C1單元格,然后單擊菜單“數(shù)據(jù)→有效性”,選擇“設置”選項卡,在“有效性條件”區(qū)域中“允許”下方的下拉列表中選擇“序列”。??????2.在“來源”下方的文本框中輸入“=姓名”。單擊“
3、確定”。???????????3.在數(shù)據(jù)區(qū)C3:H14中用VLOOKUP函數(shù)對工資數(shù)據(jù)進行關聯(lián)。例如第3行為1月工資,可以在C3單元格中輸入公式??????=VLOOKUP($C$1,'1月工資'!$B$3:$H$14,2,0)”???在D3單元格中輸入公式:??????=VLOOKUP($C$1,'1月工資'!$B$3:$H$14,3,0)???在C4單元格中輸入公式:???=VLOOKUP($C$1,'2月工資'!$B$3:$H$14,2,0)???其余單元格依此類推。這樣,只要在單擊C1單元格右側(cè)的下拉箭頭選擇員工姓名就可以查看其所有月份的工資情況。??方法二:用窗體控
4、件???1.在菜單欄上右擊,在彈出的菜單中選擇“窗體”,將彈出“窗體”浮動工具欄,單擊“組合框”控件。?????????????2.將光標放到表格中,這時光標變成細黑十字形,在表格中畫一個組合框。???3.右擊組合框,在彈出的菜單中選擇“設置控件格式”。??????????在“設置控件格式”對話框中選擇“控制”選項卡,設置“數(shù)據(jù)源”區(qū)域為“'1月工資'!$B$3:$B$14”(或“姓名”),設置“單元格鏈接”為$J$1,如圖。??????????單擊“確定”回到表格中,按ESC鍵或在任一單元格單擊一下取消組合框的編輯狀態(tài)。這樣設置以后,我們在下拉列表中選擇一個姓名后,在J1單
5、元格中將出現(xiàn)該姓名在姓名列表中的相對位置。例如我們選擇第3個姓名“王霞”,J1單元格中返回數(shù)值3。???4.在數(shù)據(jù)區(qū)C3:H14中用VLOOKUP函數(shù)對工資數(shù)據(jù)進行關聯(lián),利用工資表中的序號數(shù)字返回工資數(shù)據(jù),方法同上。方法三:用VBA控件工具箱中的組合框控件。???1.在菜單欄上右擊,在彈出的菜單中選擇“控件工具箱”,將彈出“控件工具箱”浮動工具欄,單擊“組合框”控件。??????????2.將光標放到表格中,這時光標變成細黑十字形,在表格中畫一個組合框。???3.右擊組合框,在彈出的菜單中選擇“屬性”。??????????4.在“屬性”窗口中,將ListFillRange屬性
6、設置為“'1月工資'!B3:B14”。關閉“屬性”窗口?。????????????5.按Alt+F11,打開VBA編輯器,在“個人工資表”中添加?下列代碼:???PrivateSubComboBox1_Change()?????Range("c1")=ComboBox1.Value???EndSub???6.在數(shù)據(jù)區(qū)C3:H14中用VLOOKUP函數(shù)對工資數(shù)據(jù)進行關聯(lián),方法同上。???另外,我們也可以使用VBA代碼將員工名單添加到組合框中,有兩種方法供選擇:???在VBA編輯器的“工程”窗口中,雙擊“ThisWorkBook”,在右側(cè)的代碼窗口中輸入下列代碼:???1.使用A
7、ddItem方法添加項目:???PrivateSubWorkbook_Open()???DimvNameAsVariant???DimiAsInteger???'創(chuàng)建列表???vName=Array("張梅","黃中","王霞","應軍軍","鄭梟","劉梅波","李飛","吳燕")???'使用AddItem方法???Fori=LBound(vName)ToUBound(vName)?????Sheet3.ComboBox1.AddItemvName(i)???Nexti???EndSub???2.使用