将文本数据从行组合到单元格

我有这样的数据:

AB Start End AD AX AY AZ BP BR BO BT .. .. 

没有VBA我如何将这些数据分组?

 AD,X,Y,Z BP,R,O,T 

通过VBA我有:

 Sub identify_unique_values() Dim vData As Variant Dim lLoop As Long Dim strID As String, strDesc As String '// Original data sheet, change codename to suit vData = Sheet1.UsedRange.Value With CreateObject("Scripting.Dictionary") .CompareMode = 1 For lLoop = 1 To UBound(vData, 1) strID = vData(lLoop, 1): strDesc = vData(lLoop, 2) If Not .exists(strID) Then .Add strID, strDesc Else .Item(strID) = .Item(strID) & " " & strDesc End If Next '// Data output, change sheet codename to suit Worksheets("Sheet2").Range("A1").Resize(.Count).Value = Application.Transpose(.keys) Worksheets("Sheet2").Range("B1").Resize(.Count).Value = Application.Transpose(.items) End With End Sub 

要将表单1中的值复制到表单2,并使用vba将其粘贴到所需的位置

假设StartA1 ,请尝试,在C2:

 =IF(A1=A2,C1&","&B2,B2) 

在D2中:

 =LEN(C2) 

并复制下来适合然后筛选ColumnD为7

一个更通用的解决scheme应该适用于任何大小的集合(无论是否定期大小)提供的ColumnA是sorting的将适用于D2:

 =A2<>A3 

并过滤ColumnD为TRUE

为了只提取所需的结果,公式应该被replace为值,比如说Select,Copy,Paste Special,Values。

SO25305129的例子