将文本数据从行组合到单元格
我有这样的数据:
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将其粘贴到所需的位置
假设Start
在A1
,请尝试,在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。