逗号通过vba与唯一值分开

时间:2016-09-29 07:20:21

标签: vba excel-vba excel

enter image description here你的表现如何,我希望通过vba编程获得所需的数据。你能帮助我吗?

下面是原始数据。

USERID QTY Loc 14405 18印度 34479 18英国 38155 14印度 35365 19英国 47669 17尼泊尔 51680 18杰尔马尼 16124 14中国 51915 20印度 14405 11英国 34479 14印度 38155 14英国 35365 14尼泊尔 47669 12杰里马尼 51680 13中国 16124 16印度 51915 10英国 14405 16印度 34479 17英国 38155 20尼泊尔

以下是必填格式

USERID Loc QTY 14405印度,英国45 16124中国,印度30 34479印度,英国49 35365尼泊尔,英国33 38155印度,尼泊尔,英国48 47669尼泊尔杰马尼29 51680 china,Jermani 31 51915印度,英国30

2 个答案:

答案 0 :(得分:0)

在这里,您将了解一些标准的Excel功能。

  1. 将数据粘贴到单个单元格中,然后使用“文本”分割到“数据”选项卡上的列:
  2. First

    1. 将数据拆分为空格分隔:
    2. Second

      1. 复制所有数据并粘贴特殊转换为单列格式:
      2. Third

        1. 整理,删除顶行。然后使用此公式=IF(MOD(ROW();3)=1;OFFSET($A1;COLUMN()-3;0);"del"),例如在C1中并将其扩展到下两列,这样你就有三个。
        2. Fourth

          1. 向下拖动以匹配您的数据:
          2. Fifth

            1. 将所有数据复制到另一个区域作为值(右键单击或粘贴特殊):
            2. Sixth

              1. 按照您希望的方式移动列,完成后按ctrl + f键del作为搜索的短语,在find下的结果框中选择一个结果并执行ctrl + a。这将突出显示所有匹配的单元格,您可以一键直接删除所有匹配的单元格。
              2. Seventh

                1. 完成
                2. Done

答案 1 :(得分:0)

我在A1单元格中假设你的字符串。

Sub Macro1()

    Range("A1").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False

    Dim i As Long
    Dim j As Integer
    Dim k As Long
    i = 2
    For k = 1 To Range("A1").End(xlToRight).Column
        For j = 1 To 3
        Cells(i, j).Value = Cells(1, k).Value
        Next
        i = i + 1
    Next

End Sub