EXCEL下拉框设置多选

我这里是微软office的版本,其它版本大同小异:
1、数据校验入口
这里写图片描述
2、设置数据
这里写图片描述
3、sheet页右击查看代码
这里写图片描述
4、复制下面代码进去:
这里写图片描述
5、效果如下:
这里写图片描述

Option Explicit

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 oldVal = "" Then
Else
If newVal = "" Then
Else
Target.Value = oldVal _
& ", " & newVal
End If
End If
End If

exitHandler:
Application.EnableEvents = True
End Sub

猜你喜欢

转载自blog.csdn.net/qq_33269520/article/details/81173811