VBA实用技巧,你做的Excel下拉菜单已Out,更好用的多列下拉菜单显示来了!轻量级 不用控件 图文

2020年3月20日07:57:37VBA实用技巧,你做的Excel下拉菜单已Out,更好用的多列下拉菜单显示来了!轻量级 不用控件 图文已关闭评论 3,288 views

在excel中设置下拉菜单很简单,直接用数据有效性-序列就可以实现。

今天我们介绍的下拉菜单:

  • 可以显示多列内容
  • 选取后只输入其中一列的内容。

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

制作步骤:

一、 生成多列下拉列表

1、添加辅助列,用&把两列连接起来

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

2、数据有效性 - 序列,引用C列合并后的数据生成下拉菜单

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

二、有选择性的显示列内容

1、在工作表标签上右键 - 查看代码 - 点击新打开窗口中右上角的sheet1(当前生成下拉菜单的工作表名称),然后把下面的代码粘贴到右侧的窗口中(不需要此功能时删除代码保存即可)

Private Sub Worksheet_Change(ByVal Target As Range)

On Error Resume Next

If Target.Row > 1 And Target.Column = 5 And Target <> "" Then

'1 表示下拉列表从1行下面开始, 5 是下拉列表所在的列数

Application.EnableEvents = False

Target = Split(Target, " ")(0)

'显示第1列用0,第2列用1,以此类推

Application.EnableEvents = True

End If

End Sub

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

2、当前文件另存为“Excel 启用宏的工作簿" (2003版此步忽略)

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

完工!下面用动画展示我们的成果吧!

选取后显示第一列内容

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

通过修改代码(把0改为1),选取后显示第二列内容

VBA露脸,你做的Excel下拉菜单已Out,更好用的多列显示来了!

今天VBA又露脸了。在excel中VBA就是这么牛,一般函数和功能实现不了的,它就可以帮你实现。