|
本帖最后由 ZL在水一方 于 2015-11-15 22:22 编辑
A12-ZL在水一方- Option Explicit
- Sub 求和1_数组法()
- '******将单元格数据放入数组******
- Dim arr As Variant, brr As Variant
- arr = [a2].CurrentRegion
- brr = Split([d2], "+")
- '******数组间执行语句******
- Dim i As Integer, j As Integer, Sums As Integer
- For i = 1 To UBound(arr)
- For j = LBound(brr) To UBound(brr)
- If arr(i, 1) = brr(j) Then
- Sums = Sums + arr(i, 2)
- End If
- Next j
- Next i
- '******将结果放入单元格******
- [e2] = Sums
- End Sub
复制代码- Option Explicit
- Sub 求和2_字典()
- '******引用Microsoft Scripting Runtime,创建字典******
- Dim Dic As Dictionary
- Set Dic = New Dictionary
- [d4:e100].ClearContents
- '******往字典中存数据******
- Dim arr As Variant, brr As Variant, i As Integer, j As Variant, Sums As Integer
- arr = [a2].CurrentRegion
- brr = Split([d2], "+")
- For i = LBound(arr) To UBound(arr)
- Dic(arr(i, 1)) = Dic(arr(i, 1)) + arr(i, 2)
- Next i
- For j = LBound(brr) To UBound(brr)
- If Dic.Exists(brr(j)) Then
- Sums = Sums + Dic(brr(j))
- End If
- Next j
-
- '******将结果输出至单元格******
- [e2] = Sums
- End Sub
复制代码 |
评分
-
查看全部评分
|