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

设置单选数据

代码粘贴即可

相关推荐
kuntli1 分钟前
Java内部类四种类型解析
java
摸鱼仙人~3 分钟前
前端面试手写核心 Cheat Sheet(终极精简版)
前端
闻哥21 分钟前
深入剖析Redis数据类型与底层数据结构
java·jvm·数据结构·spring boot·redis·面试·wpf
Ashley_Amanda22 分钟前
深入浅出Web Dynpro:SAP企业级Web应用开发全面解析
前端
虾..23 分钟前
Linux 基于TCP实现服务端客户端通信(多进程/多线程版)
java·服务器·tcp/ip
方安乐25 分钟前
概念:前端工程化实践
前端
星辰_mya26 分钟前
CompletableFuture:异步编程的“智能机械臂”
java·开发语言·面试
一见31 分钟前
WorkBuddy安装Skill的方法
android·java·javascript
kyriewen35 分钟前
Flexbox 完全指南:从此告别浮动,拥抱一维战神
前端·css·html
xChive35 分钟前
ECharts3D图表 | 3D柱状图和3D饼图实现思路
前端·3d·echarts