Excel制作下拉列表的三種方法

      網友投稿 1333 2022-06-10

      下拉列表在Excel中的用途十分廣泛。在Excel中制作下拉列表可以通過數據有效性、使用窗體控件和VBA控件工具箱中的組合框來制作。下面用一個具體的例子來進行說明(在文章結尾處可下載xls格式的示例文件)。假如每個月都有一個工資表,其中每個員工的工資按照其出勤天數每個月都不相同。

      需要制作一個“個人工資表”來查看每個人每個月的工資情況,這時就可以制作一個包含員工姓名下拉列表,在其中進行選擇來查看指定員工每個月的工資情況。

      本文圖文介紹了在Excel中制作下拉列表的三種方法。

      方法一:使用數據有效性

      通過數據有效性可以在單元格中提供一個下拉箭頭,單擊下拉箭頭會彈出下拉列表。因為員工姓名都在每月的工資表中,而“個人工資表”中沒有這些人員姓名,所以必需先定義名稱,以便在“個人工資表”中設置數據有效性時進行引用。

      定義名稱的方法是單擊菜單“插入→名稱”,在定義名稱對話框中進行定義,這里將“1月工資”表中的姓名區域B3:B14定義為“姓名”,如圖。

      1、假如下拉列表放在“個人工資表”的C1單元格,選擇C1單元格,然后單擊菜單“數據→有效性”,選擇“設置”選項卡,在“有效性條件”區域中“允許”下方的下拉列表中選擇“序列”。

      3、在數據區C3:H14中用VLOOKUP函數對工資數據進行關聯。例如第3行為1月工資,可以在C3單元格中輸入公式

      =VLOOKUP($C,'1月工資'!$B:$H,2,0)”

      在D3單元格中輸入公式:

      =VLOOKUP($C,'1月工資'!$B:$H,3,0)

      在C4單元格中輸入公式:

      =VLOOKUP($C,'2月工資'!$B:$H,2,0)

      其余單元格依此類推。這樣,只要在單擊C1單元格右側的下拉箭頭選擇員工姓名就可以查看其所有月份的工資情況。

      方法二:用窗體控件

      1、在菜單欄上右擊,在彈出的菜單中選擇“窗體”,將彈出“窗體”浮動工具欄,單擊“組合框”控件。

      在Excel中制作下拉列表的三種方法

      2、將光標放到表格中,這時光標變成細黑十字形,在表格中畫一個組合框。

      3、右擊組合框,在彈出的菜單中選擇“設置控件格式”。

      在“設置控件格式”對話框中選擇“控制”選項卡,設置“數據源”區域為“'1月工資'!$B$3:$B$14”(或“姓名”),設置“單元格鏈接”為$J$1,如圖。

      單擊“確定”回到表格中,按ESC鍵或在任一單元格單擊一下取消組合框的編輯狀態。這樣設置以后,我們在下拉列表中選擇一個姓名后,在J1單元格中將出現該姓名在姓名列表中的相對位置。例如選擇第3個姓名“王霞”,J1單元格中返回數值3。

      4、在數據區C3:H14中用VLOOKUP函數對工資數據進行關聯,利用工資表中的序號數字返回工資數據,方法同上。

      方法三:用VBA控件工具箱中的組合框控件

      1、在菜單欄上右擊,在彈出的菜單中選擇“控件工具箱”,將彈出“控件工具箱”浮動工具欄,單擊“組合框”控件。

      2、將光標放到表格中,這時光標變成細黑十字形,在表格中畫一個組合框。

      3、右擊組合框,在彈出的菜單中選擇“屬性”。

      4、在“屬性”窗口中,將ListFillRange屬性設置為“'1月工資'!B3:B14”。關閉“屬性”窗口 。

      5、按Alt+F11,打開VBA編輯器,在“個人工資表”中添加 下列代碼:

      Private Sub ComboBox1_Change()

      Range("c1") = ComboBox1.Value

      End Sub

      6、在數據區C3:H14中用VLOOKUP函數對工資數據進行關聯,方法同上。

      另外,也可以使用VBA代碼將員工名單添加到組合框中,有兩種方法供選擇:

      在VBA編輯器的“工程”窗口中,雙擊“ThisWorkBook”,在右側的代碼窗口中輸入下列代碼:

      1、使用 AddItem 方法添加項目:

      Private Sub Workbook_Open()

      Dim vName As Variant

      Dim i As Integer

      '創建列表

      vName = Array("張梅", "黃中", "王霞", "應軍軍", "鄭梟", "劉梅波", "李飛", "吳燕")

      '使用 AddItem 方法

      For i = LBound(vName) To UBound(vName)

      Sheet3.ComboBox1.AddItem vName(i)

      Next i

      End Sub

      2、使用 List 屬性添加項目:

      Private Sub Workbook_Open()

      Dim vName As Variant

      Dim i As Integer

      '創建列表

      vName = Array("張梅", "黃中", "王霞", "應軍軍", "鄭梟", "劉梅波", "李飛", "吳燕")

      '使用 List 屬性

      Sheet3.ComboBox1.List = WorksheetFunction.Transpose(vName)

      End Sub

      其中Sheet3是VBA編輯器“工程”窗口中與“個人工資表”名稱對應的工作表,這里直接引用的是Sheet3,而不是工作表名稱。這樣,每次打開工作簿時,姓名列表會自動添加到組合框中。

      示例文件下載

      在Excel中創建下拉列表的實例.xlsx

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:圖文詳解Excel中如何制作下拉菜單(Excel下拉菜單的制作方法)
      下一篇:微軟要給Excel加入機器學習,讓Excel表格變得更聰明
      相關文章
      亚洲AV日韩精品久久久久| 亚洲人成自拍网站在线观看| 亚洲AV噜噜一区二区三区| 亚洲一区免费在线观看| 亚洲成a人片在线观看中文app| 伊人久久综在合线亚洲2019| 亚洲网站在线观看| 亚洲AV中文无码乱人伦下载| 亚洲成AV人片一区二区| 亚洲精品蜜桃久久久久久| 亚洲精品无码mv在线观看网站| 亚洲精品乱码久久久久66| 日本红怡院亚洲红怡院最新 | 国产成人精品日本亚洲专| 亚洲国产精品人久久电影| 亚洲国产成人91精品| 亚洲精品伊人久久久久| 国产亚洲精品bv在线观看| 亚洲欧美熟妇综合久久久久| 亚洲AV日韩AV无码污污网站| 国产精品亚洲一区二区三区久久 | 亚洲AV无码XXX麻豆艾秋| 国产精品亚洲片在线花蝴蝶| 亚洲福利在线播放| 亚洲人成色77777在线观看大| 国产亚洲成归v人片在线观看| 亚洲人成网站在线观看播放| 亚洲国产精品线在线观看| 亚洲视频一区二区三区| 亚洲娇小性xxxx| 亚洲日韩精品国产一区二区三区| 久久亚洲欧美国产精品| 久久精品亚洲乱码伦伦中文| 国产成人亚洲精品青草天美| 久久精品国产亚洲av麻豆小说 | 亚洲精品黄色视频在线观看免费资源| 久久精品国产亚洲精品| 久久久久亚洲AV片无码| 亚洲日本国产精华液| 亚洲妇女无套内射精| 亚洲伊人久久综合影院|