在下拉列表中拆分值并显示在电子表格中

时间:2013-10-03 08:20:57

标签: vba excel-vba drop-down-menu excel-2010 excel

我有一张带有下拉列表的excell表。值是一些逗号分隔值。例如

XXS, XS, S, M, L, XL, XXL, XXXL
2/3, 4/5, 6/7, 8/9, 10/11, 12/13
1-2, 2-3, 3-4, 4-5, 5-6, 6-7, 7-8, 8-9, 9-10, 10-11, 11-12, 12-13, 13-14, 14-15, 15-16, 18-24
2XL, 3XL, 4XL, 5XL
1X, 2X, 3X, 4X, 5X

当用户从下拉列表中选择一个值时,我想获取所选值并将其拆分为逗号并将这些拆分值设置为单元格。 如果用户选择2XL,3XL,4XL,5XL,我的输出应如下所示。任何人都建议更好地做到这一点

enter image description here

1 个答案:

答案 0 :(得分:2)

像这样设置电子表格

enter image description here

单元格C2是验证列表下拉列表

打开开发人员标签,进入VBE ALT + F11

右键单击Sheet1对象模块,然后选择View Code

复制粘贴以下代码

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row = 2 And Target.Column = 3 Then
        Dim arr As Variant
        arr = Split(Target, ",")
        Range("E:E").ClearContents
        Range("E:E").NumberFormat = "@"
        Range("E1:E" & UBound(arr) + 1) = WorksheetFunction.Transpose(arr)
    End If
End Sub

现在,返回电子表格并选择列表中的任何内容。您应该在列E

中包含分隔值

enter image description here