乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 仅需3秒,可学会在Excel中快速创建强大的下拉列表-excel下拉列表

仅需3秒,可学会在Excel中快速创建强大的下拉列表-excel下拉列表

作者:乔山办公网日期:

返回目录:excel表格制作

仅需3秒,可学会在Excel中快速创建强大的下拉列表

在Excel中创建下拉列表,一来可以提高工作的效率和排版美观度,二来可以保证规范性,防止输入错误的数据。下面小编整理了,一种快捷简单的方式,以及一种比较复杂但是更功能更加强大的方式。

-01简单快捷地创建下拉列表-

仅需3秒,可学会在Excel中快速创建强大的下拉列表

如上图所示,这个只是个简单的个人信息。对于性别,婚否等这种有固定类别的信息。我们可以创建下拉列表来提高工作效率,同时也避免输入错误格式信息。

ACTION

1.选中性别所在的C列,数据--数据验证

仅需3秒,可学会在Excel中快速创建强大的下拉列表

2.数据验证为【序列】,来源设置【男,女】

仅需3秒,可学会在Excel中快速创建强大的下拉列表

小贴士:如果条件比较简单直接手动输入,用英文逗号隔开即可。也可以点击右边小框框,选择数据源(在表中建立好的数据源)。

3.点击【确定】,就可以看到下拉选择框了

仅需3秒,可学会在Excel中快速创建强大的下拉列表

小贴士:下拉列表在生活中应用特别多,如分析护肤品的功效。可以设置下拉列表的数据源为:控油,保湿/美白,补水/防止过敏肌;以此类推,应用是十分广泛的。

注意事项:

1.序列是以“,”,即英文逗号为识别的。所以间隔的时候,千万记得用英文逗号。

2.若想清除数据有效性,请选中如上图C列,点击【数据】-【数据验证】-【设置】-点击【全部清除】


-02VBA创建复杂的下拉列表-

仅需3秒,可学会在Excel中快速创建强大的下拉列表

如上图所示,通过【数据验证】,我们仅仅可以设置单项选择的下拉列表。若想实现多个功效,最笨的方法就是对于功效进行组合,如设置序列为:补水/保湿/美白,补水,淡斑。但是这样也会存在一个问题,就是输入序列的时候过于麻烦,还要考虑所有可能性的组合。在此小编分享一个通过VBA解决的方法。

ACTION

1.按照上面简单的下拉列表创建步骤,创建简单下拉列表

仅需3秒,可学会在Excel中快速创建强大的下拉列表

2.选中数据所在的表,右键-【查看代码】

仅需3秒,可学会在Excel中快速创建强大的下拉列表

3.复制代码,保存,关掉即可实现

仅需3秒,可学会在Excel中快速创建强大的下拉列表

4.效果展示,选择不同的功效,之间将会用“/”隔开,并列显示。若再次选择【保湿】,那么将会取消对【保湿】的选择。

仅需3秒,可学会在Excel中快速创建强大的下拉列表

代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngDV As Range

Dim oldVal As String

Dim newVal As String

Dim strVal As String

Dim i As Long

Dim lCount As Long

Dim Ar As Variant

On Error Resume Next

Dim lType As Long

If Target.Count > 1 Then GoTo exitHandler

lType = Target.Validation.Type

If lType = 3 Then

Application.EnableEvents = False

newVal = Target.Value

Application.Undo

oldVal = Target.Value

Target.Value = newVal

If Target.Column = 20 Then

If oldVal = "" Then

'do nothing

Else

If newVal = "" Then

'do nothing

Else

On Error Resume Next

Ar = Split(oldVal, "/")

strVal = ""

For i = LBound(Ar) To UBound(Ar)

Debug.Print strVal

Debug.Print CStr(Ar(i))

If newVal = CStr(Ar(i)) Then

'do not include this item

strVal = strVal

lCount = 1

Else

strVal = strVal & CStr(Ar(i)) & "/"

End If

Next i

If lCount > 0 Then

Target.Value = Left(strVal, Len(strVal) - 1)

Else

Target.Value = strVal & newVal

End If

End If

End If

End If

End If

exitHandler:

Application.EnableEvents = True

End Sub

本文为作者原创欢迎分享,若转载到其他公众号,请注明原著。可关注微信号,faladft。

相关阅读

关键词不能为空
极力推荐
  • Excel宏是怎么设置的?-excel2003

  • excel2003,一起来学习一下吧。1打开Excel,点击左上角的"文件"。2找到并点击"选项"按钮。3弹出窗口后,在左侧点击"信任中心"。

ppt怎么做_excel表格制作_office365_word文档_365办公网