EXCEL中按照一列的相同编号,组合另一列的多行内容

使用EXCEL自带的VBA(按alt+F11调出),依据A列的内容,组合合并B列的内容,在E和F列输出

Private Sub Worksheet_Activate()
Dim a, b, d, i, m, n()          '创建一些变量
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To 16   '读取16行,可修改
    If d.exists(Range("a" & i).Value) = False Then
    d.Add Range("a" & i).Value, Range("b" & i).Value
    Else
    
    d.Item(Range("a" & i).Value) = d.Item(Range("a" & i).Value) & "," & Range("b" & i).Value
    End If
       
 Next
m = d.Item("f")
n = d.keys              '取得关键字
For b = 1 To d.Count  '重复数组
       Range("e" & b) = n(b - 1)
       Range("f" & b) = d.Item(n(b - 1))
Next
End Sub

猜你喜欢

转载自blog.csdn.net/qq_36808376/article/details/89335004