美文网首页
45、[VBA入门到放弃笔记]字典标记行号

45、[VBA入门到放弃笔记]字典标记行号

作者: 叶知行 | 来源:发表于2017-07-09 15:03 被阅读43次

源数据

源数据

结果

结果

要求:第一条数据重量字段显示订单号的总重量,其余的空白。


Sub cdsr()
Dim arr
    Set d = CreateObject("scripting.dictionary")'创建字典
    arr = [a1].CurrentRegion'数据
    For i = 2 To UBound(arr)'遍历数据
      If Not d.exists(arr(i, 1)) Then'如果是第一条数据(字典里没有key存在)
      d(arr(i, 1)) = i'用字典标记其在数组中的行号
      Else'遇到余下的数据
'根据标记的行号,对重量进行累加(行号是第一条数据所在的行号)
'd(arr(i, 1))返回的是每个订单号在数组中第一条数据所在的行号
      arr(d(arr(i, 1)), 3) = arr(d(arr(i, 1)), 3) + arr(i, 3)
      arr(i, 3) = ""   '清空重量字典
      End If
    Next
    [g1].Resize(UBound(arr), 3) = arr'输出数据
End Sub

示例文件下载

链接: http://pan.baidu.com/s/1geRsxLD 密码: ggft


相关文章

网友评论

      本文标题:45、[VBA入门到放弃笔记]字典标记行号

      本文链接:https://www.haomeiwen.com/subject/szgshxtx.html