excel一个单元格多选n个选项 单元格设置下拉菜单多选

excel默认只能制作单选列表 , 这个比较简单 。但是如何制作一个可以多选的下拉列表呢?这就需要使用VBA(visual basic Application) 。
有些朋友的excel菜单默认没有开发工具,可通过文件菜单->选项->自定义功能区勾选后显示出来 。请看下图 。

excel一个单元格多选n个选项 单元格设置下拉菜单多选

文章插图
制作好的双选下拉列表效果如下:
【excel一个单元格多选n个选项 单元格设置下拉菜单多选】
excel一个单元格多选n个选项 单元格设置下拉菜单多选

文章插图
下面小编演示如何制作多选下拉列表 。
1.首先我们打开一个Excel文件;
2.点击开发工具->Visual Basic,在弹出的窗口中选择插入->用户窗体
在工具栏中分别拖拽一个listbox 列表 和command 按钮放在窗体中,调制大小和适合的位置 。
如下图:
excel一个单元格多选n个选项 单元格设置下拉菜单多选

文章插图
创建对话框
双击窗体编写如下代码:
Private Sub UserForm_Initialize()
ListBox1.List = Array(“选项1”, “选项2”, “选项3” )
End Sub
以上代码作用是 窗体初始化时 给ListBox1 赋 初始值,选项1,选项2,选项3,…选项n 。如果需要多个选项和一直添加 。
excel一个单元格多选n个选项 单元格设置下拉菜单多选

文章插图
  1. 双击 当前要使用的工作表  , 粘贴以下代码,该函数作用是响应用户点击单元格事件 , 具体含义见注释
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [a1:a900]) Is Nothing Then
‘只有用户点击A1至A900单元格显示窗体,否则不显示
UserForm1.Show
End If
End Sub
4.给窗体按钮编写单击事件,即用户点击确定按钮后执行哪些操作
Private Sub CommandButton1_Click()
Dim i, s
Dim j ‘用户统计用户选择了几个选项
j = 1
With ListBox1
For i = 0 To .ListCount – 1
If .Selected(i) Then s = s & “,” & .List(i)
j = j + 1 ‘用户选择一个选项统计变量自加1
Next
End With
If j >= 2 Then MsgBox “只能选择两项”: Exit Sub
‘判断用户选择了几个选项,大于2项不允许 。如何让用户必须选择2项,则判断j=2 。
ActiveCell = s
Me.Hide
End Sub