可以选择多项的下拉列表,用不着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 = TrueEnd Sub

说明和注意事项

使用这段代码,无须指定产品列的列号,但是要保证这个工作表中只有这一列使用了条件格式。

另外,使用这段代码,不同产品之间是通过空格隔开的,如果你希望使用其他符号(比如逗号)隔开,就找到这一句代码:

修改为:

xStrNew = xStrNew & "," & Target.Value

另外,这一段代码不能处理重复产品的情况,如果希望排除重复产品,需要再添加一段处理代码。

关注ExcelEasy,让工作变简单

(0)

相关推荐