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


猜你喜欢
- 最近有Win7系统用户反映,PS软件中自带的字体不好看,不知如何更换。其实,PS字体使用的是Win7系统的字体,所以,想要安装PS字体,只需
- excel计算小时数的方法,因具体情况不同而有所不同。下面通过两个例子来理解excel中如何计算小时数。excel计算小时数案例一:比如20
- flow短视频怎么玩?flow短视频是一款非常好用视频社交软件,flow短视频拥有很多实用的功能,有些用户还不知道要怎么玩这款软件,今天就给
- wps软件已经成为了用户经常使用的一款办公软件,给用户带来了许多的好处,当用户在wps软件中编辑文档时,用户就可以在软件上找到各种各样的功能
- 怎么卸载Win10 flash插件?本文就为大家带来了Win10卸载flash插件的方法,需要的朋友一起看看吧Win10flash插件怎么卸
- 在excel中使用vba制作九九乘法表,如何进行具体操作的呢?今天,小编就教大家在Excel中使用vba函数制作九九乘法表的操作技巧。Exc
- 有的小伙伴在使用影子系统软件的时候,对于它的工作原理非常的好奇。那么小编认为它的工作原理其实就相当于我们系统的备份还原。详细内容请见下文~【
- 2022年的首个Win11更新发布了,名为build 22526版本,在这个版本中,微软加强了系统对apple pods设备的性能,可以更加
- 微软证实Windows 10系统将通过U盘出售,而且用户在安装这一新系统时也无需使用DVD光驱,装在U盘中出售的微软Windows 10家庭
- 我们在excel表格来打开csv的文件时,会发现中文内容显示乱码,这该如何解决呢?下面就跟小编一起看看吧。Excel打开CSV显示乱码的解决
- win7系统是一款被大多数用户们信赖的优秀系统!超强的稳定性是系统最为出色的地方,最近一直有小伙伴们问win7怎么初始化硬盘?今天小编就为大
- 幻灯片是电子幻灯片,即ppt演示文稿。许多朋友会使用幻灯片,但不会制作幻灯片。实际上,制作幻灯片的方法非常简单。以下编辑器将告诉您如何制作幻
- Win10系统怎么关闭搜索亮点?相信还有很多用户不清楚,Win10系统很快获得微软在Win11版本中引入的新搜索亮点功能,具体是怎么回事呢?
- Win10系统是现在大家都在使用的电脑操作系统,Win10系统界面采用了扁平化设计,甚至连右键菜单都变得更宽更扁了。有些可能会不适应这么宽的
- 在我们平常电脑的使用中,或多或少会遇到一些电脑问题,就比如近期有部分用户出现了桌面图标无法使用的情况,十分影响电脑的正常使用。那么有没有什么
- 山WPS为用户提供了很多实用的功能,比如说,我们今天要介绍的稿纸功能。金山WPS的稿纸功能可以让整篇文字都显示在稿纸底纹上,并且文字在对应的
- 在制作wps幻灯片的时候,要怎么去设置背景音乐呢?下面小编就为你提供wps演示怎样设置背景音乐的方法啦!wps演示设置背景音乐的方法:1.打
- vc6.0是微软推出的一款C++编译器,学习C语言的伙伴都会在电脑上安装VC++6.0。最近有用户升级Win10系统后,发现Win10系统运
- coreldraw软件无法导出图片怎么办?最近一个使用coreldraw软件的用户反映,在Win10系统电脑上coreldraw不能导出图片
- 回车符号在Word2010中默认是显示的,即便是打印不出来,但是很影响美观,在某些特殊情况下会影响到心情,那么word2010怎么隐藏回车符