
VBA 多条件求和
一列时间,一列数量,一列名称,在A,B,C三列,是一个动态区域,现在求满足时间与名称的数量和,用VBA编的程序必须是动态区域。...
一列时间,一列数量,一列名称,在A,B,C三列,是一个动态区域,现在求满足时间与名称的数量和,用VBA编的程序必须是动态区域。
展开
2个回答
展开全部
Sub test()
Dim oDic As Object
Dim i As Long
Dim Dsum
Dim Arr
Arr = Range("A1:C" & [A65536].End(xlUp).Row)
Set oDic = CreateObject("Scripting.Dictionary")
With oDic
For i = 1 To UBound(Arr)
oDic(Format(Arr(i, 1), "yy-m-d") & "@@" & Arr(i, 2)) = oDic(Format(Arr(i, 1), "yy-m-d") & "@@" & Arr(i, 2)) + Arr(i, 3)
Next
End With
Dsum = oDic(Format("2010-8-5", "yy-m-d") & "@@" & "A") '"2010-8-5"这个是你求和的日期,"A"是名称根据需要自己设置
End Sub
Dim oDic As Object
Dim i As Long
Dim Dsum
Dim Arr
Arr = Range("A1:C" & [A65536].End(xlUp).Row)
Set oDic = CreateObject("Scripting.Dictionary")
With oDic
For i = 1 To UBound(Arr)
oDic(Format(Arr(i, 1), "yy-m-d") & "@@" & Arr(i, 2)) = oDic(Format(Arr(i, 1), "yy-m-d") & "@@" & Arr(i, 2)) + Arr(i, 3)
Next
End With
Dsum = oDic(Format("2010-8-5", "yy-m-d") & "@@" & "A") '"2010-8-5"这个是你求和的日期,"A"是名称根据需要自己设置
End Sub
参考资料: office助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |