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 class="main">
excel制作下拉列表的方法
excel制作下拉列表的方法
excel制作下拉列表的方法
其余单元格依此类推。这样,只要在单击C1单元格右侧的下拉箭头选择员工姓名就可以查看其所有月份的工资情况。
方法二:用窗体控件
1.在菜单栏上右击,在弹出的菜单中选择“窗体”,将弹出“窗体”浮动工具栏,单击“组合框”控件。
学习啦在线学习网 2.将光标放到表格中,这时光标变成细黑十字形,在表格中画一个组合框。
3.右击组合框,在弹出的菜单中选择“设置控件格式”。
在“设置控件格式”对话框中选择“控制”选项卡,设置“数据源”区域为“‘1月工资’!$B:$B”(或“姓名”),设置“单元格链接”为$J class="main">
excel制作下拉列表的方法
学习啦在线学习网 单击“确定”回到表格中,按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制作下拉列表的方法
精选文章
-
excel中怎么使用not函数?
not函数是对逻辑判断取反向值的函数,可以看作是and函数的反义函数。下面我们来认识一下这个函数吧! excel中中的使用not函数 1、首先我们打开样表。 2、
-
Excel2003如何实现字符替换
字符替换,顾名思义就是用新的字符替换原有的字符。Excel中的字符替换工具,一方面实现了字符的搜索功能,另一方面实现了搜索结果的替换功能。下面
-
excel表格中数字乱码怎么办?
excel表格中数字乱码怎么办?今天就由学习啦小编教大家解决这个问题!希望可以帮到大家! EXCEL表格数字乱码 具体的方法步骤如下: 1、如图,下载的表格,准
-
如何使用Excel2007中的内容重排功能?
学习啦在线学习网我们在使用Excel的过程中,有时候需要把一个单元格的内容进行分离,或者多行内容合并到一个单元格,如果是用复制粘贴的方法来完成,很明显操作效率