|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
生成位置改一下就行。
Sub a()
Dim arr, brr
Dim d As Object
Dim i&, j&, k&, s$
Set d = CreateObject("scripting.dictionary")
arr = [a1].CurrentRegion '数据源
ReDim brr(1 To UBound(arr), 1 To UBound(arr, 2))
For i = 1 To UBound(arr) '含标题
s = arr(i, 1) & "|" & arr(i, 2) & "|" & arr(i, 3) '条件
If Not d.exists(s) Then
k = k + 1 '计算,非重复个数
d(s) = k '序号
For j = 1 To 4
brr(k, j) = arr(i, j)
Next
Else
brr(d(s), 4) = brr(d(s), 4) & "/" & arr(i, 4) '需合并列
End If
Next
With Sheets(2).[a1]
.CurrentRegion.ClearContents '清除内容
.Resize(k, 4) = brr
End With
Set d = Nothing
End Sub |
|