《在Excel中制作下拉列表的几种方法.docx》由会员分享,可在线阅读,更多相关《在Excel中制作下拉列表的几种方法.docx(10页珍藏版)》请在三一办公上搜索。
1、在Excel中制作下拉列表的几种方法下拉列表在Excel中的用途十分广泛。在Excel中制作下拉列表可以通过数据有 效性、使用窗体控件和VBA控件工具箱中的组合框来制作。下面我们用一个具体的 例子来进行说明(在文章结尾处可下载xls格式的示例文件)。假如我们每个月都有 一个工资表,其中每个员工的工资按照其出勤天数每个月都不相同。ABCDE2序号姓名工资标准基本工资津贴31张梅600: 00240. 00180. 00184黄中580. 00.232. 00174. 00175.3王雷9.60 00384. 0028S. 002S:.A .应军军L 080. 00432. 00324. 0032
2、界.郑枭900.:00360. 00270. 00276刘梅波1/580. 00632. 00474. 00479. ?李飞L 900. 00760. 00570. 005710吴燕1, 020. 00 ,踏.昭怦11.9Fr rr W . LJ AL。_L _L j U .11我们需要制作一个“个人工资表”来查看每个人每个月的工资情况,这时就可以制 作一个包含员工姓名下拉列表,在其中进行选择来查看指定员工每个月的工资情况。B:CDEFGH姓名王霞T月份黄A寻本工资津贴奖金.出勤天数本月实度1 :84. 00288. 00W88. 0021. 50960. 00.284. 0028& 0028
3、8, 0023. 001026. 98:3如梅波84. 00233; 00288. 0022. 00 .982*3484. 00::238. 0028S; 0021.00 .937.-6756 7.8EXCEL技巧天地q方法一:使用数据有效性通过数据有效性可以在单元格中提供一个下拉箭头,单击下拉箭头会弹出下拉列表。因为员工姓名都在每月的工资表中,而“个人工资表”中没有这些人员姓名, 所以我们必需先定义名称,以便在“个人工资表”中设置数据有效性时进行引用。定义名称的方法是单击菜单“插入-名称”,在定义名称对话框中进行定义,这里 将“1月工资”表中的姓名区域B3:B14定义为“姓名”,如图。1.
4、假如下拉列表放在“个人工资表”的C1单元格,选择C1单元格,然后单击菜 单“数据-有效性”,选择“设置”选项卡,在“有效性条件”区域中“允许”下方的下拉列 表中选择“序列”。2. 在“来源”下方的文本框中输入“=姓名”。单击“确定”。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,
5、2,0)其余单元格依此类推。这样,只要在单击C1单元格右侧的下拉箭头选择员工姓 名就可以查看其所有月份的工资情况。方法二:用窗体控件2.将光标放到表格中,这时光标变成细黑十字形,在表格中画一个组合框。3. 右击组合框,在弹出的菜单中选择“设置控件格式”。在“设置控件格式”对话框中选择“控制”选项卡,设置“数据源”区域为“1月工资!$B$3:$B$14”(或“姓名”),设置“单元格链接”为$J$1,如图。单击“确定”回到表格中,按ESC键或在任一单元格单击一下取消组合框的编 辑状态。这样设置以后,我们在下拉列表中选择一个姓名后,在J1单元格中将 出现该姓名在姓名列表中的相对位置。例如我们选择第3
6、个姓名“王霞”,J1单元 格中返回数值3。4.在数据区C3:H14中用VLOOKUP函数对工资数据进行关联,利用工资表 中的序号数字返回工资数据,方法同上。方法三:用VBA控件工具箱中的组合框控件。1.在菜单栏上右击,在弹出的菜单中选择“控件工具箱”,将弹出“控件工具箱”浮动工具栏,单击“组合框”控件。2.将光标放到表格中,这时光标变成细黑十字形,在表格中画一个组合框。3.右击组合框,在弹出的菜单中选择“属性”。4. 在“属性”窗口中,将ListFillRange属性设置为“1月工资!B3:B14”。关闭“属性”窗口。5.按Alt+F11,打开VBA编辑器,在“个人工资表”中添加下列代码:Pr
7、ivate Sub ComboBox1_Change()Range(c1”) = ComboBox1.ValueEnd Sub6.在数据区C3:H14中用VLOOKUP函数对工资数据进行关联,方法同上。另外,我们也可以使用VBA代码将员工名单添加到组合框中,有两种方法供 选择:在VBA编辑器的“工程”窗口中,双击“ThisWorkBook”,在右侧的代码窗口中 输入下列代码:1.使用AddItem方法添加项目:Private Sub Workbook_Open()Dim vName As VariantDim i As Integer创建列表vName = Array(张梅,黄中,王霞,应军军
8、,郑枭,刘梅波,李飞,吴燕)八、/使用AddItem方法For i = LBound(vName) To UBound(vName)Sheet3.ComboBox1.AddItem vName(i)Next iEnd Sub2.使用List属性添加项目:Private Sub Workbook_Open()Dim vName As VariantDim i As Integer创建列表vName = Array(张梅,黄中,”王霞,”应军军,郑枭”,”刘梅波”,李飞,”吴燕)八、/使用List属性Sheet3.ComboBox1.List = WorksheetFunction.Transpose(vName)End Sub其中Sheet3是VBA编辑器“工程”窗口中与“个人工资表”名称对应的工作表,这里直接引用的是Sheet3,而不是工作表名称。这样,每次打开工作簿时,姓名 列表会自动添加到组合框中。单击右侧文件名下载X1S格式示例文件:在Excel中创律下拉列表.xls