本帖最后由 周义坤 于 2012-6-2 17:11 编辑
- Sub ek_sky()
- Dim arr, arr1
- Dim i&
- Dim k As New Dictionary
- arr = Range("A2:C" & Cells(Rows.Count, 1).End(3).Row)
- arr1 = Cells(1, "G")
- For i = 1 To UBound(arr)
- If arr1 = "全部" Then
- If arr(i, 2) <> "@" Then
- k(arr(i, 1)) = k(arr(i, 1)) + arr(i, 3)
- End If
- GoTo 100
- Else
- If arr(i, 2) = arr1 Then
- k(arr(i, 1)) = k(arr(i, 1)) + arr(i, 3)
- End If
- End If
- 100:
- Next i
- Range("F3:G15").ClearContents
- Range("F3").Resize(k.Count) = Application.Transpose(k.Keys)
- Range("g3").Resize(k.Count) = Application.Transpose(k.Items)
- End Sub
复制代码- Sub ek_sky()
- Dim arr, arr1
- Dim i&
- Dim k As Object
- Set k = CreateObject("scripting.dictionary")
- arr = Range("A2:C" & Cells(Rows.Count, 1).End(3).Row)
- arr1 = Cells(1, "G")
- For i = 1 To UBound(arr)
- If IIf(arr1 = "全部", True, arr(i, 2) = arr1) Then
- k(arr(i, 1)) = k(arr(i, 1)) + arr(i, 3)
- End If
- Next i
- Range("F2:G15").ClearContents
- Range("F3").Resize(k.Count) = Application.Transpose(k.keys)
- Range("G3").Resize(k.Count) = Application.Transpose(k.items)
- End Sub
复制代码 |