|
- Sub tt() 'by sdong7 20141206
- Dim arr, dic, larr(1 To 10000, 1 To 3)
- Dim roc, coc As Integer
- Set dic = CreateObject("scripting.dictionary")
- Sheets("数据源").Range("A1").Select
- Selection.CurrentRegion.Select
- With Selection
- roc = .Rows.Count
- coc = .Columns.Count
- End With
- arr = Range(Cells(1, 1), Cells(roc, coc))
- For j = 1 To coc - 1 Step 2
- For i = 2 To roc
- If arr(i, j) <> "" Then
- If dic.Exists(arr(1, j) & arr(i, j)) Then
- ha = dic(arr(1, j) & arr(i, j))
- larr(ha, 3) = arr(i, j + 1) + larr(ha, 3)
- Else
- k = k + 1
- dic(arr(1, j) & arr(i, j)) = k
- larr(k, 1) = arr(1, j)
- larr(k, 2) = arr(i, j)
- larr(k, 3) = arr(i, j + 1)
- End If
- End If
- Next i
- Next j
- Sheets("结果").[a18].Resize(k, 3) = larr
- End Sub
复制代码 |
|