比如我做一个表格,其中一项是“部门类型”,这一项中,选项有:财务部,人事部,开发部,销售部
用户在选择的时候,可以选择:人事部,开发部
那么在“部门类型”这个单元格中,应该显示:人事部,开发部
怎么用excel实现呢?

1. 首先做一个下拉框



2. 然后点击当前下拉框下的sheet页签,右键选择查看代码

输入以下代码

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 exitHandlerOn Error Resume Next
Set rngDV = Cells.SpecialCells(xlCellTypeAllValidation)
On Error GoTo exitHandlerIf rngDV Is Nothing Then GoTo exitHandlerIf Intersect(Target, rngDV) Is Nothing Then'do nothing
ElseApplication.EnableEvents = FalsenewVal = Target.ValueApplication.UndooldVal = Target.ValueTarget.Value = newValIf Target.Column = 7 Then '这里规定好哪一列的数据有效性是多选的,A列是第1列,依次类推,如3就是C列,7就是G列If oldVal = "" Then'do nothingElseIf newVal = "" Then'do nothingElseIf InStr(1, oldVal, newVal) <> 0 Then  '重复选择视同删除If InStr(1, oldVal, newVal) + Len(newVal) - 1 = Len(oldVal) Then '最后一个选项重复Target.Value = Left(oldVal, Len(oldVal) - Len(newVal) - 1)ElseTarget.Value = Replace(oldVal, newVal & ",", "") '不是最后一个选项重复的时候处理逗号End IfElse '不是重复选项就视同增加选项Target.Value = oldVal & "," & newVal
'      NOTE: you can use a line break,
'      instead of a comma
'      Target.Value = oldVal _
'        & Chr(10) & newValEnd IfEnd IfEnd IfEnd If
End IfexitHandler:Application.EnableEvents = True
End Sub

注意第21行,其中If Target.Column = 7表示下拉框所在的列数,如1表示A第一列,2表示B第二列,以此类推。

3. 最后测试

所有的多选项都会用逗号隔开,再次选择已选项会取消选择。

Excel下拉框多选(支持再次选择已选项会取消选择)相关推荐

  1. php下拉多选框,excel下拉框多选打勾的设置方法

    excel下拉框多选打勾的设置方法 一.显示"开发工具"选项卡.打开Excel2010,点击左上方"文件"图标.点击"选项",弹出" ...

  2. EXCEL下拉框多选

    来源:link 先在某列利用数据验证-建立下拉菜单表: 在下拉表所打开的sheet中(如sheet1),鼠标右击下面的工作表.选择"查看代码",打开VBA编辑界面: 复制以下代码, ...

  3. Excel怎么下拉框多选

    打开Exlce, 确定,然后 右击查看代码,把这段代码复制到新建的文件里面 此时Excel会给出提示,选择否,,系统会提示保存,在保存的时候选择启用宏的工作簿然后保存,此时Excel下拉框多选就搞定了 ...

  4. 关于EXCLE 下拉框多选的设置

    关于EXCLE 下拉框多选的设置. 本文转载于:https://www.cnblogs.com/boosasliulin/p/5970120.html 本文转载于:https://blog.csdn. ...

  5. Excel下拉框设置多选

    Excel下拉框一般只能单选,但有时候需要多选,多选的方法如下: 以office 2016中的excel为例: 1.数据验证入口 2.设置数据 3.sheet页右击查看代码 4.复制下面代码进去: 5 ...

  6. easyui前端实现多选框_EasyUI实现下拉框多选功能

    本文实例为大家分享了EasyUI实现下拉框多选展示的具体代码,供大家参考,具体内容如下 效果图: 这个没什么说的,直接引入css和js文件和图片,调用js即可.下面是源码: 利用EasyUI实现多选下 ...

  7. 基于Material实现下拉框多选并且可点击“x”删除(Chips)

    基于Material实现下拉框多选并且可点击"x"删除(Chips) 需求 实现 写在最后 需求 近期在使用Material搭建一个后台系统,遇到一个如下需求: 功能需求如下:输入 ...

  8. 力软下拉框多选_jquery实现下拉框多选方法介绍

    一.说明 本文是利用EasyUI实现下拉框多选功能,在ComboxTree其原有的基础上对样式进行了改进,样式表已上传demo,代码如下 二.代码 利用EasyUI实现多选下拉框 $(function ...

  9. bootstrap-select实现下拉框多选效果

    bootstrap-select实现下拉框多选效果 听语音 在学习bootstrap实现下拉多选效果的时候,觉得该效果很好,所以拿来分享下,这里就不详细的描述了,直接附上代码给各位看看 方法/步骤 1 ...

  10. 基于Bootstrap的下拉框多选 Bootstrap Multiselect 插件使用

    基于Bootstrap的下拉框多选插件 Bootstrap Multiselect 的使用方法 1.首先去下载代码:https://github.com/davidstutz/bootstrap-mu ...

最新文章

  1. selectpselect/pollppoll/epoll
  2. boost::functional模块功能性的测试程序
  3. oracle connection 有时能取到有时候又取不到
  4. html中如何实现选择存储路径的功能_16687.VSM006分解03_如何打开HTML内嵌图像存储位置...
  5. 【渝粤题库】国家开放大学2021春2726畜禽生产概论题目
  6. 飞流直下三千尺的acd看图软件下载
  7. pandas学习笔记三之赋值操作
  8. dbcc收缩数据库_使用DBCC SHRINKFILE收缩数据库
  9. 解决Android Studio Import Sample网络连接失败问题
  10. 最新更新云码支付,星糖付多合一全自动码商,商户,代理,支付一体系统完整数据源码
  11. sigmoid函数特性
  12. c语言 头文件 重复包含,C语言头文件如何避免重复包含
  13. 厉害了隔壁老王,带你入坑腾讯联机对战引擎!
  14. php中$this-是什么意思
  15. RK3399 Android7/8 system vendor分区挂载参数
  16. python绘制派大星_简笔画:如何使用Flash绘制派大星 看完你就知道了
  17. 诸葛io的技术架构图_大数据平台的技术演化之路 诸葛io平台设计实例
  18. token是什么?token的作用以及运用场景?
  19. PostMan script教程
  20. 计算机科学系绩效分配方案,教育部提出绩效工资分配方案,3类教师收入会增加,有你吗?...

热门文章

  1. 多媒体技术期末复习资料
  2. c语言的编译器手机版,C语言编译器下载_C语言编译器APP手机最新版安装 - 风云下载...
  3. 数据库表及字段命名规范
  4. 思科网络模拟器Packet Tracer教程
  5. winpe加载raid_winpe集成raid驱动~
  6. CityEngine建模全流程解析与分享【系列文章之一】
  7. Java实现QQ、微信、新浪微博第三方登录
  8. 新书即将上市:《善用佳软:高效能人士的软件应用之道》
  9. # 华为数通IE学习 第一节
  10. 魔兽争霸的地图验证漏洞和作弊图原理,兼谈魔兽联机机制[转载]