首页生活资讯正文

Excel下拉菜单制作教程,从简单到复杂全囊括

2024-10-03 次浏览

编按:一提及下拉菜单,我信任年夜多半有点Excel根基的都邑做。但本日我们来点纷歧样的下拉菜单,从青铜级别到王者级别,包罗万象,赶紧来看一看吧。

下面,我们将依照从简单到高档来给年夜家先容如下几种下拉菜单。

1、最简单的下拉菜单

Excel下拉菜单制作教程,从简单到复杂全囊括
(图片来源网络,侵删)

2、名称制造下拉菜单

3、动态下拉菜单(没有空缺选项的)

4、多内容下拉菜单,添补时拆分内容

5、智能录入下拉菜单,添补时拆分内容

注意:本日主要说的内容是“数据验证(Validation)”的内容,不涉及控件使用,各个Excel版本都可以使用。

【正文】

1、青铜(最简单的下拉菜单)



制造办法:

在对象栏中,点击“数据验证”功效;



在弹出的窗口中,按下图:



在【容许】中选择“序列”,在【起源】中输入“男,女”,按肯定键完成操作。

注意:无论选填的内容是什么,都要用“英文的逗号距离”,并且不需使用双引号。

2、白银



办法1:在数据验证窗口中,如下设置



【起源】处可以直接选择单位格区域,即可把这部门的内容作为下拉菜单的内容。

办法2:我们也可以使用名称治理器来操作:

选择A2:A17单位格,然后在【名称框】中编纂一个名称:例如我们输入“科学家”,然后【按回车停止编纂】



然后在数据验证窗口中如下图设置;



3、黄金——动态下拉菜单

假如我们的选择项数目不肯定,跟着添加或者删除,下拉选项也要随之增长削减,如下图所示:



按CTRL+F3组合键,打开【名称治理器】窗口,新建一个名称“选项”,按下图设置名称内容:



引用地位的函数:=OFFSET(黄金!$A$2,,,COUNTA(黄金!$A$2:$A$997),)

使用COUNTA函数肯定区域中的内容数目,然后在使用数据验证创立下拉菜单即可。

假如A列数据是使用函数后获得的,例如把某列数据去重,如下图:



A2单位格的函数为:

{=IFERROR(INDEX($A$2:$A$38,SMALL(IF(MATCH($A$2:$A$38,$A$2:$A$38,0)=ROW($1:$37),ROW($1:$37),9^9),ROW(B1))),"大众"大众)}

这个函数是万金油,之前的教程中有解释的,就不在这里赘述了。然后下拉A2单位格添补至A18,就获得了去重后的内容,然后再使用名称即可引用到数据验证中。

然则要注意:表中从B8:B18都是IFERROR函数容错后的空格,那么适才用COUNTA函数引出选项个数的方式就不正确了,我们换一个写法即可,如下:



函数如下:

=OFFSET(黄金!$B$2,,,COUNTA(黄金!$B$2:$B$18)-COUNTBLANK(黄金!$B$2:$B$18),)

用COUNTA-COUNTBLANK的方式肯定应该取若干个选项内容。



截至到此,【下拉选填菜单】的操作办法,共同【函数】和【自界说名称】还可以顺应事情,然则已经显得力有未逮,由于跟着数据的变化,对付函数和自界说名称的调整是在所不免的。那么【更高档其余下拉选填菜单】我们继续看。

4、钻石级别——多内容下拉菜单,添补时拆分内容



下拉菜单选择项包括多个分歧属性的内容,选填后主动填入多个单位格。这个方式是使用VBA操作的,代码如下:

Private Sub Worksheet_Change(ByVal Target As Range) '''单位格值转变,触发变乱

If Target.Column = 4 And Target.Count = 1 Then '''断定是否在D列,选择一个单位格

With Target '''使用这个单位格

s = .Text '''单位格的值赋值给一个变量s

.Resize(1, 2) = Split(s, 公众:"大众) '''单位格扩大1行2列,然后把用Split函数按冒号拆分的数组赋值到单位格区域

End With '''with停止语句

End If '''停止断定

End Sub '''工程停止

Private Sub Worksheet_SelectionChange(ByVal Target As Range) '''选择单位格转变,触发变乱

If Target.Column = 4 And Target.Count = 1 Then '''断定是否在D列,选择一个单位格

With Sheets(公众钻石"大众)

s = Join(Application.Transpose(.Range("大众A2:A"大众 & .[A65000].End(3).Row)), "大众,"大众) '''将A列从A2开端,有值的单位格Join成一个字符串,用英文逗号距离

End With

With Selection.Validation '对所选择的单位格,创立数据有用性

.Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

xlBetween, Formula1:=s

.IgnoreBlank = True '设置单位格 容许空值

.InCellDropdown = True '提供下拉列标

End With

End If '停止断定

End Sub '''工程停止

按下图粘贴或者编写代码亦可。



5、王者——智能录入下拉菜单,添补时拆分内容

同窗们做过多级联动的下拉菜单吗。你是若何做的呢,按首行批量创立自界说名称,然后再INDIRECT。

这种办法对付简单的数据源照样可以采纳的,然则对付比拟多的内容就不是很便利,例如我们本日的这份数据源——“全国【省、市、县 三层】的智能下拉添补功效”

假如同窗们用传统方式做的话,自界说名称要做若干呢。

下面看看作者E图表述制造后的后果吧:



这也是用VBA做的,VBA可以做许多日常不敢想象的内容,也只有VBA能力做出高档的功效。不说废话,代码如下:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 7 And Target.Row = 2 Then '''假如被转变值的单位格7行2列【G2】单位格时

With Sheets("大众王者公众) '''使用《王者》事情表

arr = .Range(公众A2:C"大众 & .[A100000].End(3).Row) '''将从A2单位格开端到A列已使用的末行停止的单位格区域赋值数值arr

s = Target.Text '''将被操作单位格的值赋值给变量s

If s <> "大众公众 Then '''假如s不为空值

For i = 1 To UBound(arr) '''轮回数组arr

st = arr(i, 1) & 公众|公众 & arr(i, 2) & "大众|公众 & arr(i, 3) '''将省市县内容归并,而且用|距离

If st Like "大众*公众 & s & 公众*"大众 Then '''假如st字符串包括s变量的内容

svd = svd & st & "大众,"大众 '''将st赋值给svd变量,并用英文逗号距离,作为下拉菜单的内容

End If

Next i

End If

With .Range(公众G3"大众).Validation '对G3单位格创立数据有用性

.Delete

.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _

xlBetween, Formula1:=svd

.IgnoreBlank = True '设置单位格 容许空值

.InCellDropdown = True '提供下拉列标

End With

.[G3] = "大众公众 '''G3单位格初始值为空

End With

End If

If Target.Column = 7 And Target.Row = 3 And Target.Text <> 公众"大众 Then '''假如G3单位格的值被转变,且值不为空时

With Sheets("大众王者"大众)

a = .[H100000].End(3).Row + 1 '''肯定H列中为空的第一行

.Cells(a, 8) = Split(Target.Text, 公众|"大众)(0) '''Split办法拆分下拉菜单的内容,将第1个值放入第8列的末行空缺行

.Cells(a, 9) = Split(Target.Text, "大众|公众)(1) '''同上,放入第2个值

.Cells(a, 10) = Split(Target.Text, "大众|公众)(2) '''同上,放入第3个值

'''注意:Split办法拆分后,是一个一维数组。vba中的内存数组序号默认是从0开端计数的

.[G3] = 公众"大众 '''G3单位格再归零

End With

End If

End Sub

不需自界说名称,不需多级联动的年夜量数据验证,这将极年夜的节俭EXCEL的内存,年夜年夜进步了运行的效力,同时一级选择、多级录入的方式也节俭了操作的环节。

写在末了:王者只是人世的强者,而这世间还有更高的存在。人外人、天外天,EXCEL之外有EXCEL,除开上面这种“下拉菜单”,我们还有更高档其余,年夜家想不想看呢。

做Excel高手,快速晋升事情效力,部落窝教育《一周Excel纵贯车》视频和《Excel极速贯通班》直播课经心为你。

进修交流请加微信:hclhclsc进微信进修群。

若何制造智能的下拉菜单。输入数据隐约匹配对应的下拉选项

最简单的多级下拉菜单制造办法,不必要界说名称

别怕,VBA入门级教程来了,前提语句很简单。

八年夜查找函数公式,轻松搞定数据中的多前提查找

版权声名:

本文作者E图表述;同时部落窝教育享有专有使用权。若需转载请接洽部落窝教育。

下拉大众单位
微软前员工揭秘经典Windows开始菜单设计趣闻左侧蓝黑渐变条并非图片 早安图片,冬天暖心早安问候句子,漂亮的冬天动态美图
相关内容