excel制作下拉列表的方法

      網友投稿 570 2025-04-02

      excel制作下拉列表的方法

      小編之前已經介紹了很多excel的功能及屬性,今天要繼續分享的是如何利用excel制作下拉列表,方法還不止一種,是不是很好奇呢?馬上來分享下excel制作下拉列表的3種方法。

      excel制作下拉列表的方法

      excel制作下拉列表配圖

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

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

      方法一:使用數據有效性

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

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

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

      2.在“來源”下方的文本框中輸入“=姓名”。單擊“確定”。

      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.在菜單欄上右擊,在彈出的菜單中選擇“窗體”,將彈出“窗體”浮動工具欄,單擊“組合框”控件。

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

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

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

      單擊“確定”回到表格中,按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

      excel制作下拉列表的方法

      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,而不是工作表名稱。這樣,每次打開工作簿時,姓名列表會自發添加到組合框中。

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

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

      上一篇:Excel VBA宏有多強大看了本文您就服了也許你不懂(excel表格怎么換行)
      下一篇:電子表格表頭怎么固定(電子表格表頭怎么固定在一起)
      相關文章
      亚洲美女视频免费| 亚洲成色在线影院| 亚洲国产精品成人久久| 色婷婷六月亚洲综合香蕉| 亚洲精品乱码久久久久久下载| 亚洲第一成年男人的天堂| 一区二区亚洲精品精华液| 亚洲欧洲日产国码在线观看| 亚洲综合色自拍一区| 亚洲精品高清在线| vvvv99日韩精品亚洲| 在线91精品亚洲网站精品成人| 国产精品亚洲专一区二区三区| 日本亚洲中午字幕乱码| 67194在线午夜亚洲| 亚洲大片免费观看| 亚洲视频网站在线观看| 亚洲人成网站影音先锋播放| 91麻豆精品国产自产在线观看亚洲| www.亚洲精品.com| 爱情岛亚洲论坛在线观看| 国产精品亚洲AV三区| 亚洲欧美日韩综合久久久| 亚洲乱妇熟女爽到高潮的片| 亚洲av无码av在线播放| 国产亚洲精品AAAA片APP| 亚洲精品岛国片在线观看| 亚洲精品字幕在线观看| 国产AV无码专区亚洲AV毛网站| 亚洲精品自产拍在线观看动漫| 亚洲免费在线播放| 亚洲综合小说久久另类区| 午夜亚洲AV日韩AV无码大全| 亚洲永久中文字幕在线| 亚洲人成7777影视在线观看| 亚洲美女激情视频| 亚洲欧洲国产综合AV无码久久 | 亚洲免费日韩无码系列| 伊人亚洲综合青草青草久热| 亚洲产国偷V产偷V自拍色戒| 久久亚洲精品国产精品|