快速下拉菜单制作(教你做个下拉菜单)
下拉菜单可以提供选择项目让填表人填写,避免了填表人填入混乱数据,让后期数据处理变得高效,简单。
01 基础版下拉菜单
以上是某公司登记表,如果要在B列,设置性别下拉菜单,怎么办呢?
操作步骤:
1、选中B2:B12,单击数据选项栏——数据验证,出现如下界面:
在验证条件中选择:序列,来源中输入:男,女。
特别注意:男女中间的逗号要在英文输入法中输入,才可以,否则会出现这种情况。
GIF操作步骤如下:
02 自动去重复的下拉菜单
Excel有个工具叫做数据验证,可以限定输入数据的范围,不过无法去掉重复值。那么如何创建去重复项的下拉列表呢?效果如下:
操作步骤:
1、准备数据如下,加入下拉列表创在A列,数据在D列。如下:
2、选中工作表,右击——查看代码,输入以下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect([a:a], Target) Is Nothing Then Exit Sub
'如果选择的单元格不存在于A列,则退出。A列是设置数据验证的区域
If Target.Rows.Count > 1 Then Exit Sub '不允许选择多行
Dim arr, brr, i&, j&, k&, s
Dim d As Object
Set d = CreateObject("scripting.dictionary") '后期字典
arr = Range("d1:d" & Cells(Rows.Count, "d").End(xlUp).Row) '数据来源列
If Not IsArray(arr) Then Exit Sub
'如果不存在数据源选项,则arr非数组,那么退出程序
For i = 2 To UBound(arr)
'D1是标题,从第2行开始遍历数据源,将人名装入字典
If arr(i, 1) <> "" Then d(arr(i, 1)) = ""
Next
s = Join(d.keys, ",")
With Target.Validation
.Delete '删掉旧的
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:=s 'S为数据验证的序列来源
End With
Application.SendKeys "%{down}"
'SendKeys发出快捷键atl ↓直接弹出数据验证下拉列表
Set d = Nothing '释放字典
End Sub
3、关闭vba窗口,在A列就能实现效果。
小伙伴们快来试试看吧!
喜欢就关注我,每天分享职场知识,办公技巧!
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com