美文网首页
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