在Excel中制作下拉列表的三种方法
发布时间:2022-04-12 04:22:49
下拉列表在Excel中的用途十分广泛。在Excel中制作下拉列表可以通过数据有效性、使用窗体控件和VBA控件工具箱中的组合框来制作。下面用一个具体的例子来进行说明(在文章结尾处可下载xls格式的示例文件)。假如每个月都有一个工资表,其中每个员工的工资按照其出勤天数每个月都不相同。
需要制作一个“个人工资表”来查看每个人每个月的工资情况,这时就可以制作一个包含员工姓名下拉列表,在其中进行选择来查看指定员工每个月的工资情况。
本文图文介绍了在Excel中制作下拉列表的三种方法。
方法一:使用数据有效性
通过数据有效性可以在单元格中提供一个下拉箭头,单击下拉箭头会弹出下拉列表。因为员工姓名都在每月的工资表中,而“个人工资表”中没有这些人员姓名,所以必需先定义名称,以便在“个人工资表”中设置数据有效性时进行引用。
定义名称的方法是单击菜单“插入→名称”,在定义名称对话框中进行定义,这里将“1月工资”表中的姓名区域B3:B14定义为“姓名”,如图。
1、假如下拉列表放在“个人工资表”的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,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,而不是工作表名称。这样,每次打开工作簿时,姓名列表会自动添加到组合框中。
示例文件下载
在Excel中创建下拉列表的实例.xlsx


猜你喜欢
- win11扩展卷点不了怎么办?win11扩展卷不能选怎么回事?很多朋友想要拓展磁盘空间就遇到这样的问题,到底是什么情况,为什么没办法选择拓展
- 如何利用ps滤镜制成烟花效果?给大家介绍如何利用ps滤镜制成烟花效果,一起来看看吧。滤镜制成烟花效果图如下1、打开ps,新建一个600×60
- 对于IE8浏览器大家并不会感到陌生,它是一款能帮助大家浏览网页、视频的软件,但是很多人装了系统之后都想要卸载IE8,因为感觉它不智能,那么W
- 我们在制作和放映PPT的时候,经常需要给幻灯片添加注释,或者给重要的PPT内容作出标记,以备日后查看,那么我们在放映PPT的时候可不可以用荧
- ppt怎么设计漂亮的几何线条背景?ppt中想要制作批量的渐变线条几何图形,该怎么制作呢?下面我们就来看看详细的教程,需要使用onekey插件
- 在手机版本的wps文字里面,应该如何填充表格呢?对于新手来说还是有一定难度,怎么办?下面就让小编告诉你 手机wps填充表格的方法。希望对大家
- Win10系统开机速度慢如何解决呢?导致Win10系统开机慢的原因有很多,比如未开启快速启动,中病毒,开机启动项太多等等。这里小编为大家整理
- 在使用Win10 1909系统的过程中,系统会自动生成许多信息记录,其中便包括了系统错误内存转储文件。不过,系统错误内存转储文件对普通用户并
- 在我们平常电脑的使用中,有部分用户都会安装使用第三方输入法,但是在使用中都需要进行输入法切换,有部分用户觉得很麻烦,因此想要将微软输入法关闭
- windows7作为一个新系统,很多功能用户都不熟悉,比如如何更改windows7资源管理器的启动位置,在windows xp中是个简单的问
- 想要升级Win11的用户相比都了解了Win11升级的条件,第一是处理器必须是八代酷睿和三代Ryzen以上才行,第二是您的主板上必须拥有TPM
- 如果想要迅雷自动删除文件不存在任务的话,其实是可以通过用户手动设置来实现的。那么,该怎么操作呢?下面小编就来简单介绍一下迅雷X自动删除文件不
- 要想通过身份证号码知道性别,只要判断18位身份证号码的第17位或者15位身份证号码的末位数字的奇偶性即可知道性别,奇数为男性,偶数为女性。以
- 发图狂魔如何修改表情包?发图狂魔是热门的表情包制作软件之一,当我们发现别人的表情包不错,想要修改成自己想要的,该如何操作呢?下面小编就和大家
- Word文档中的字数怎么看?在Word长篇文档中,想要查看文档有多少个字,应该如何查看呢?1、点击审阅-校对-字数统计,就可以看到对应的个数
- 机械革命蛟龙16是一款娱乐影音笔记本电脑,这款电脑搭载了amd ryzen 7 6000系列处理器以及性能级独立显卡,能够让用户们有着不错的
- cdr中如何将闭合路径断开?最近有许多使用cdr的小伙伴遇到了这样的问题:不知道如何将闭合路径断开,那么今天的教程小编就给大家带来cdr将闭
- 最近有很多小伙伴表示麦克风插上的时候电流声特点大,根本不能戴上麦克风,这个该怎么办呢?在设置里面进行频率设置就可以了,具体的一起来看看吧。【
- 在日常工作和生活中我们经常会需要进行各种打印。有时候我们的打印需求会有所变化,比如有时候我们需要将多张PPT幻灯片打印在同一页上,有时候我们
- EXCEL是一款十分优秀的表格绘制软件,有很多都使用过,不过相信很多小伙伴都不知道EXCEL还可以制作出日历来,甚至方法也不止一种,那么我们