Sub aa() Dim d As Object Dim arr Dim i As Long Dim j As Long Set d = CreateObject("scripting.dictionary") arr = Range("A2").CurrentRegion.Value For i = 2 To UBound(arr, 1) For j = 1 To 4 Step 2 If arr(i, j) <> "" Then d(arr(i, j)) = d(arr(i, j)) + arr(i, j + 1) End If Next j Next i Range("F2").Resize(d.Count, 1) = Application.Transpose(d.keys) Range("G2").Resize(d.Count, 1) = Application.Transpose(d.items) End Sub 字典遇到没有的会自动创建
Sub aa() Dim d As Object Dim arr Dim i As Long Dim j As Long Set d = CreateObject("scripting.dictionary") arr = Range("A2").CurrentRegion.Value For i = 2 To UBound(arr, 1) For j = 1 To 4 Step 2 If arr(i, j) <> "" Then d(arr(i, j)) = d(arr(i, j)) + arr(i, j + 1) End If Next j Next i Range("F2").Resize(d.Count, 1) = Application.Transpose(d.keys) Range("G2").Resize(d.Count, 1) = Application.Transpose(d.items) End Sub 字典遇到没有的会自动创建