可以选择多项的下拉列表,用不着Excel高手,你也可以做到!
在Excel中,下拉列表的出镜率非常高,
它的实现也比较简单,只要用数据验证就可以实现了。可以说这是所有经常使用Excel的朋友的必备技能了!
但是,如果我们想在每个订单号的产品中列出所有该订单的产品,这个普通的下拉列表就无能为力了。
此时,就需要我们今天介绍的“可选多项的”下拉列表了,
实现方法
这个特殊的下拉列表仍然是使用数据验证实现的,
不过在使用数据验证之余,我们还需要使用一小段VBA代码。
在Excel窗口中,按Alt+F11,打开VBA编辑器,
双击你使用下拉列表的工作表,在本文案例中,我们使用的是Sheet1,
在右侧代码区域,粘贴下列代码:
Private Sub Worksheet_Change(ByVal Target As Range)
'UpdatebyExtendoffice20180510
Dim xRgVal As Range
Dim xStrNew As String
On Error Resume Next
Set xRgVal = Cells.SpecialCells(xlCellTypeAllValidation)
If (Target.Count > 1) Or (xRgVal Is Nothing) Then Exit Sub
If Intersect(Target, xRgVal) Is Nothing Then Exit Sub
Application.EnableEvents = False
xStrNew = Target.Value
Application.Undo
If xStrNew = "" Then
xStrNew = ""
Else
xStrNew = xStrNew & " " & Target.Value
End If
Target.Value = xStrNew
Application.EnableEvents = True
End Sub
说明和注意事项
使用这段代码,无须指定产品列的列号,但是要保证这个工作表中只有这一列使用了条件格式。
另外,使用这段代码,不同产品之间是通过空格隔开的,如果你希望使用其他符号(比如逗号)隔开,就找到这一句代码:
修改为:
xStrNew = xStrNew & "," & Target.Value
另外,这一段代码不能处理重复产品的情况,如果希望排除重复产品,需要再添加一段处理代码。
关注ExcelEasy,让工作变简单
赞 (0)