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
   'do nothing
Else
  Application.EnableEvents = False
  newVal = Target.Value
  Application.Undo
  oldVal = Target.Value
  Target.Value = newVal
  //在第几列写几
  If Target.Column = 5 Then
    If oldVal = "" Then
      Else
      If newVal = "" Then
        Else
        If InStr(oldVal, newVal) > 0 Then
        Target.Value = oldVal
        Else
      Target.Value = oldVal & ", " & newVal
      End If
        End If
    End If
  End If
End If

exitHandler:
Application.EnableEvents = True
End Sub

设置单选数据

代码粘贴即可

相关推荐
星火开发设计13 分钟前
Java面向对象三大特性:封装、继承与多态的深度解析及实战
java·开发语言·microsoft·多态·继承·面向对象·封装
hhzz21 分钟前
EasyPoi的核心映射工具:@Excel注解详解
java·服务器·excel·springboot·easypoi
Joe55627 分钟前
vue2 + antDesign 下拉框限制只能选择2个
服务器·前端·javascript
码农小卡拉28 分钟前
数据库:主键 VS 唯一索引 区别详解
java·数据库·sql
e***98571 小时前
Java性能优化实战:从原理到案例
java·开发语言·性能优化
ChangYan.1 小时前
monorepo 多包管理识别不到新增模块,解决办法
前端·chrome
Jinuss1 小时前
React元素创建介绍
前端·react.js
焦糖玛奇朵婷1 小时前
盲盒小程序:开发视角下的功能与体验
java·大数据·jvm·算法·小程序
济6171 小时前
linux 系统移植(第六期)--Uboot移植(5)--bootcmd 和 bootargs 环境变量-- Ubuntu20.04
java·前端·javascript
温暖小土2 小时前
深度解析 Spring Boot 自动配置:从原理到实践
java·springboot