在Excel中制作下拉列表的3种方法

下拉列表在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,而不是工作表名称。这样,每次打开工作簿时,姓名列表会自动添加到组合框中。

(0)

相关推荐

  • 在WPS表格中制作斜线的两种方法

    我们经常用WPS表格完成一些表格上的处理,比如课程表,这些需要用到斜线,那这时我们该怎么办呢?接下来我来介绍如何在WPS表格中制作出斜线,不会的朋友可以参考本文,来看看吧. 步骤: 1.打开WPS后, ...

  • excel中输入平方米㎡的4种方法

    下面介绍在EXCEL中输入平方米㎡的4种操作方法.希望本指南能帮到大家. 操作方法1 01 鼠标点一下单元格:再按键盘的ALT键+数字0178:单元格上显示出一个小的2字. 02 把光标定位在2的前面 ...

  • Excel中制作数值差异柱形图的方法

    在excel图表中,如果表格的两组数据值差异很大,那么制作出的图表就无法显示出小数值的字段列内容,这时就需要制作数值差异柱形图. 方法: 1.首先,我们建立一个简单的表格,包括3列数据,方便后面图表的 ...

  • 如何在Excel表格中制作时间轴(excel中制作动态时间轴的方法)

    大事件时间轴演示动画!Excel版"动态大事件轴"的制作方法,令人大开眼界!分享一下它的做法.在Excel中,制作动态图表有固定的套路:1.插入一个控件关联单元格,可以用组合框.选 ...

  • 在excel中输入分数的五种方法

    在电子表格中输入分数的情况不时会出现,那么如何在EXCEL中正确输入分数形式呢?本篇就介绍五种简便的方法,使分数的输入快速有效. 操作方法 01 如果在表格中直接输入1/5,可能结果只会出现日期的形式 ...

  • 一招教你在2007版Excel中制作下拉菜单

    相信很多小伙伴在日常办公中都会用到Excel,在其中如何才能制作下拉菜单呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,在Excel中打开我们要进行操作的表格,然后将我们要制作下拉菜单的 ...

  • 如何在电脑版Excel中制作百分比圆饼图

    电脑版Excel软件被很多人使用,用来编辑数据等,有的用户在使用该软件时,为了使数据看起来更加清晰,因此想要制作百分比圆饼图,但是却不知道如何制作,那么小编就来为大家介绍一下吧.具体如下:1. 第一步 ...

  • Excel中制作一个项目文件目录的两种方法

    Excel中制作一个项目文件目录的两种方法.如下图所示,就是一个项目文件夹内的所有文件: 接下来,先提取文件名称. 如果文件比较少,可以直接输入到Excel文档中,但是如果文件比较多,就要想想办法了. ...

  • Excel中制作下拉菜单的4种方法

    Excel中制作下拉菜单的4种方法 其实还有另外3种: 1.创建列表 在一列中按alt+向下箭头,即可生成一个下拉菜单(创建列表).此方法非常简单. 2.开发工具 - 插入 - 组合框(窗体控件) 如 ...