2013-03-24 50 views
-1

我有一个xls文件用的值以下:的excel行到逗号分隔

ID Value 
1 value1 
1 value2 
1 value3 
2 value1 
2 value2 
3 value1 
3 value2 

我想此变换至(创建新的片材)

ID Values 
1 value1,value2,value3 
2 value1,value2 
3 value1,value2,value3 

基本上,我希望所有具有相同ID的行都加入所有逗号分隔的值。

感谢,

回答

2

试试下面的代码:

Sub sample() 
    Dim i As Integer, j As Integer 
    Dim temp As String 
    Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=Range("C1"), unique:=True 

    Dim lastRow As Long 
    lastRow = Range("C65000").End(xlUp).Row 

    j = 1 
    For i = 2 To lastRow 
     Do Until Cells(j, 2) = "" 
      If Trim(Cells(j, 1)) = Trim(Cells(i, 3)) Then 
       temp = temp & "," & Cells(j, 2) 
      End If 
      j = j + 1 
     Loop 
     Cells(i, 4) = temp 
     temp = "" 
     j = 1 
    Next 
End Sub 

enter image description here

enter image description here

+0

非常感谢,这样做的工作。我只是添加了temp = Right(temp,Len(temp) - 1)来删除第17行中的第一个逗号。 – 2013-03-24 15:00:05