Excel VBA 通过字典进行数据计数/求和

2023-03-08 15:22:11 浏览数 (1)

字典的计数/求和都是通过利用,字典keys键的唯一性进行统计,当key键出现相同时进行数量的加一或者进行keys键的值求和!

代码语言:javascript复制
Sub RES(ByVal ST As Integer)
    
    Dim arr, i, brr, dic  '定义变量
    
    Set dic = CreateObject("scripting.dictionary")  '创建字典对象
    
    arr = [A2:B29] '把A2至B29的数据装入数组arr
    
    For i = 1 To UBound(arr)  '遍历数据取数
    
        If ST = 1 Then   '状态当为1时执行 value统计计数否则执行value求和
        
            dic(arr(i, 1)) = dic(arr(i, 1))   1  '执行keys计数
            
        Else
            
            dic(arr(i, 1)) = dic(arr(i, 1))   arr(i, 2)  '执行keys的value求和
            
        End If
        
    Next
    
    brr = Array(dic.keys, dic.items)  '把统计后的数据装入数组brr
    
    [D2].Resize(dic.Count, 2) = WorksheetFunction.Transpose(brr)   '把brr数组写入单元格
    
End Sub

Sub A_SUM() '执行keys的value求和
    RES (0)
End Sub

Sub A_COUNT()   '执行keys计数
    RES (1)
End Sub

0 人点赞