Excel增加多列可多选的下拉项

首先,选中Excel某个或多个单元格上,选择上面菜单面板的“数据”,然后选择“数据验证”及其后的“数据验证”菜单项,然后在弹出来的对话框中,按下图显示选择验证条件是“序列”,来源中输入准备设置的多选项,此时该单元格应该已经可以支持有下拉箭头的单选列表。


如果需要多选,这时候需要鼠标右键单击这个表(sheet),即在Excel下方类似Sheet1的标签处右键单击,然后选择弹出菜单中的“查看代码”,之后编辑其中的VBA代码为下面的代码,注意要运行该Excel文件的宏功能。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim rngDV As Range

Dim oldVal As String

Dim newVal As String

If Target.Count > 1 Then GoTo exitHandler

On Error Resume Next

Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)

On Error GoTo exitHandler

If rngDV Is Nothing Then GoTo exitHandler

If Intersect(Target, rngDV) Is Nothing Then

Else

  Application.EnableEvents = False

  newVal = Target.Value

  Application.Undo

  oldVal = Target.Value

  Target.Value = newVal

  If Target.Column = 2 Then

    If oldVal = "" Then

      Else

      If newVal = "" Then

      Else

      Target.Value = oldVal _

        & ", " & newVal

      End If

    End If

  End If


  If Target.Column = 3 Then

    If oldVal = "" Then

      Else

      If newVal = "" Then

      Else

      Target.Value = oldVal _

        & ", " & newVal

      End If

    End If

  End If

End If

exitHandler:

  Application.EnableEvents = True

End Sub



这样对该表的第2和第三列都已经支持多选了,可以试验一下。

如果要支持更多的列,把高亮的代码部分复制到下方,把Target.Column =后面的数字改成该列的序号即可。

修改完了不要忘了保存该VBA代码,然后就可以多选了,效果如下图所示。


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 在一个系统刚上线时,需要把以前的数据导入系统,方便使用与管理,程序不是万能的,导入表格要符合系统要求的规则才能顺利...
    snowgrain阅读 86,926评论 7 6
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,971评论 0 13
  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,185评论 0 2
  • 我问佛 痴念可是孽 我修行浅 寻不到答案 我念一句佛号 南无阿弥陀佛 净化妄想的心 仍是执着 不负如来 不负卿 念...
    如镜若水阅读 227评论 0 1
  • 我经常会在大半夜思维膨胀,就像很多天生的文艺青年一样,这种傻逼的习惯经常会让我在大半夜变得很善感。 通常我会在睡觉...
    某Abe阅读 403评论 0 1

友情链接更多精彩内容