他山之石——使用VBA字典-Part2

这里讲的三个字典的应用,都挺新鲜的,有机会可以实践一下。

Sub 提取不重复的产品()
 Dim d As New Dictionary
 Dim arr, x
 arr = Range("a2:a12")
 For x = 1 To UBound(arr)
      d(arr(x, 1)) = ""
 Next x
 Range("c2").Resize(d.Count) = Application.Transpose(d.Keys)
End Sub


Sub 汇总()
 Dim d As New Dictionary
 Dim arr, x
 arr = Range("a2:b10")
 For x = 1 To UBound(arr)
   d(arr(x, 1)) = d(arr(x, 1)) + arr(x, 2) 'key对应的item的值在原来的基础上加新的
 Next x
 Range("d2").Resize(d.Count) = Application.Transpose(d.Keys)
 Range("e2").Resize(d.Count) = Application.Transpose(d.Items)
End Sub

Sub 多表双向查找()
 Dim d As New Dictionary
 Dim x, y
 Dim arr
 For x = 3 To 5
   arr = Sheets(x).Range("a2").Resize(Sheets(x).Range("a65536").End(xlUp).Row - 1, 2)
   For y = 1 To UBound(arr)
     d(arr(y, 1)) = arr(y, 2)
     d(arr(y, 2)) = arr(y, 1)
   Next y
 Next x
 MsgBox d("C1")
 MsgBox d("吴情")
End Sub


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值