国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Excel > 正文

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

2024-08-23 19:52:11
字體:
來源:轉載
供稿:網友

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

在Excel中制作下拉列表的3種方法 CUOxin.COM教程

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

  方法一:使用數據有效性

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

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

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

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

CUOxin.COM推薦:點擊免費下載最新版wps辦公軟件 》》查看更多電腦教程

  3.在數據區C3:H14中用VLOOKUP函數對工資數據進行關聯。例如第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單元格右側的下拉箭頭選擇員工姓名就可以查看其所有月份的工資情況。

  方法二:用窗體控件

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


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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 时尚| 岐山县| 那曲县| 积石山| 鹤壁市| 武宁县| 梁河县| 临清市| 大名县| 密山市| 贵阳市| 荣昌县| 邯郸市| 迭部县| 镇远县| 宜州市| 济宁市| 阿合奇县| 潞西市| 余庆县| 长阳| 右玉县| 当阳市| 郁南县| 留坝县| 汪清县| 洪洞县| 曲水县| 兰考县| 永福县| 吉林省| 兴城市| 武清区| 吉隆县| 重庆市| 山阴县| 化隆| 丹凤县| 都兰县| 山阴县| 延长县|