手机版学校入驻客服中心网站导航

欢迎来到西安朝阳计算机培训学校!

咨询热线

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

来源:西安朝阳计算机培训学校    时间:2018/10/4 16:17:33

  西安办公自动化培训学校由设计师亲临授课,使学生不仅仅掌握设计软件方面的应用,而且对设计理念,色彩搭配,空间布局,及材料方面的知识也有深刻的理解,学员毕业后都能独立完成设计。学习期间学校负责安排实习单位进行实践操作,使学员能边学习边实践,理论联系实际,让学习的知识不仅仅停留在理论层面,更主要的是实际操作层面。 西安办公自动化培训学校 西安电脑培训 小班授课,循环开课,学会为止。联系电话4006156870 QQ:2294155463


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

联系方式

选择专业时,如果犹豫不定,不知道选择哪个比较好,敬请致电,专业的咨询老师会为你解答。

  • 报名热线:400-035-8011
  • 咨询老师:林老师
  • 点击咨询:
友情链接: [上海网页设计培训学校] [重庆室内设计培训学校] [贵阳平面设计培训学校] [昆明室内设计培训学校]

电脑版|手机版

版权所有: 郑州天华信息技术有限公司