EXCE
L是日常 办公中应 用非常多 的办公软 件之一, 其强大的 数据统计 、分析功 能为我们 的工作带 来不少方 便。那么 如何在e xcel 中设置下 拉菜单? 具体的操 作方式如 下。打开表格打开
一个表格。选中单元格
选中对应单 元格。点击有效
性点击菜 单栏中的 数据选择 有效性。选择序列在
弹出的菜单 栏中将允许 选项框设置 为序列。勾选旁边
两选项勾 选页面中 旁边的两 选项。小编还为您整理了以下内容,可能对您也有帮助:
在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,而不是工作表名称。这样,每次打开工作簿时,姓名列表会自动添加到组合框中。
在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,而不是工作表名称。这样,每次打开工作簿时,姓名列表会自动添加到组合框中。
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com