众所周知,下拉菜单是制作Excel模版必不可少的存在,谈起它,大家首先想到的通常是数据验证(2010及之前版本名字是数据有效性),我们之前也分享了很多相关的推文,基础的、动态的、多层级的等等。
?使用函数制作n级数据验证下拉菜单
但我们今天不聊数据验证,它虽然快捷便利,但也有这样或那样的缺点,比如不能设置字体、不能呈现多列属性……
打个响指,我们今天分享如下图所示的多列下拉列表。
这样的下拉列表包含了2列数据,字体也不是Excel默认的,就显得很与众不同。
1、制作材料
首先准备制作材料,一张员工信息明细表,一张查询表。
注意,明细表里有名字相同但工号不同的数据——也就是俗话说的同名不同人。
员工信息明细表?
员工信息查询表?
2、问题分析
我们需要根据员工信息明细表的数据,在查询表的B3单元格制作下拉列表。
由于员工信息表存在同名不同人的情况,所以下拉列表的内容应以工号为准,而不是人名。
如果此处使用数据验证制作下拉列表,会呈现一列的工号数字,信息并不直观。对于业务不熟练的小菇凉来说,谁知道工号01123是那个以怕老婆为特长的三土糯男呢?摊手。
3、制作步骤
在【开发工具】选项卡中单击【插入】按钮,在弹出的下拉菜单中,选中ActiveX控件下的【组合框】。
按住鼠标左键不松手,在B3单元格画一个任意的形状,生成组合框控件。右击该控件,在打开的快捷菜单中,依次单击【属性】→【按分类序】
将【数据】组中的ColumnCount设置为2;ColumnWidths设置为50磅;ListWidth设置为150磅。
ColumnCount是组合框下拉菜单呈现数据的列数,此处是工号和姓名两列,所以设置为2。
ColumnWidths是单列数据的宽度,50磅,表示每列均为50磅宽。也可以分别设置每列的宽度,不同列宽度之间以半角分号间隔。比如50;80,表示第1列50磅宽,第2列80磅宽。
ListWidth是该控件菜单整体的宽度,设置为150磅,也可根据实际情况作相应调整。
将【杂项】组中的LinkedCell设置为B3;ListFillRange设置为员工信息明细表!b2:c10。
LinkedCell是指定得到组合框所选数据的单元格,此处是B3。
ListFillRange是组合框数据来源,此例中数据来源为员工信息明细表!b2:c10。这里也可以使用【定义名称】,以达到动态引用数据源的目的。如果使用定义名称,可以直接输入名称。
单击【字体】组中【Font】的设置按钮,设置自己喜欢的字体格式即可。
最后,选中B3单元格的组合框控件,将尺寸缩小为只呈现三角(是否缩小,也可以根据个人喜好决定),然后依次单击【开发工具】→【设计模式】,取消【设计模式】的选中状态,退出该模式。
打个响指,盖木欧瓦……
小贴士:
如果需要防止输入错误的工号,B3单元格依然可以使用数据验证规范数据,只是不要勾选数据验证中的【提供下拉箭头】选项。
哦,对了,只看不练假把戏,你不妨下载练习文件动手试一下;照例右下角点个赞,咱们明天再见。