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

设置单选数据

代码粘贴即可

相关推荐
尽兴-4 分钟前
4.1 智能体核心:Agent、Sub-Agent、ReAct、规划执行
前端·javascript·react.js·agent·react·subagent
小小小小宇16 分钟前
前端 Shadow DOM 全解析与应用
前端
万物更新_19 分钟前
vue框架
前端·javascript·vue.js·笔记
小小小小宇21 分钟前
前端 Web Workers 和 Service Workers 全解析与应用
前端
phltxy29 分钟前
Spring AI 可观测性与 Zipkin 实战
java·人工智能·spring
兰令水37 分钟前
leecodecode【面试150】【2026.6.13打卡-java版本】
java·算法·leetcode
陆枫Larry37 分钟前
浏览器的 Reflow 和 Repaint 是什么?为什么要尽量避免它们?
前端
孜孜不倦不忘初心39 分钟前
mac安装nvm及问题记录
前端·node.js
Richar41 分钟前
Object.freeze()注意事项
前端·javascript
TA远方42 分钟前
【HTML】JavaScript Canvas 图像截取与保存完整指南
前端·javascript·html·canvas·截图·截取