美文网首页零基础自学VBA
二十八讲 VBA字典下

二十八讲 VBA字典下

作者: 肉丸子豆 | 来源:发表于2017-06-17 16:56 被阅读19次

1. 提取唯一值

Sub 提取唯一值()

Dim d As New Dictionary

Dim arr

Dim x As Integer

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

2. 字典与求和

Sub 汇总()

Dim d As New Dictionary

Dim arr, x

arr = Range("d2:e10")

For x = 1 To UBound(arr)

d(arr(x, 1)) = d(arr(x, 1)) + arr(x, 2) 'Key对应的item的值在原来的基础上加新的

Next x

Range("f2").Resize(d.Count) = Application.Transpose(d.Keys)

Range("g2").Resize(d.Count) = Application.Transpose(d.items)

End Sub

犯过的错误有:

(1)arr = Range("d2:e10"),这一步自己写代码时候定义为了d2:d10, 错定义为一维数组。

(2)For x = 1 To UBound(arr),这一步错写为for x = 2 to ubound(arr),错误原因在于混淆了概念

(3)最后一步,d.items,大意写为d,items

3. 多表双向查找

Sub 多表()

Dim d As New Dictionary

Dim x, y

Dim arr

For x = 27 To 29

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

相关文章

  • 二十八讲 VBA字典下

    1. 提取唯一值 Sub 提取唯一值() Dim d As New Dictionary Dim arr Dim ...

  • 34、[VBA入门到放弃笔记] 字典:创建和编写字典

    字典是VBA中一个十分有用的对象。 VBA中的字典和现实中的【新华字典】、【成语字典】功能一样,都是用来储存信息,...

  • VBA 知识

    VBA 编程基础 Excel VBA入门(二)数组和字典 Excel VBA 的可变类型Variant ed2k:...

  • VBA字典

    字典 使用前需要先加载 工具 -- 引用 -- 浏览 -- 找到scrrun.dll 字典赋值的方法1--Add添...

  • 二十七讲 VBA字典上

    一 什么是字典 字典就是一个储存数据的小仓库,共有两列。第一列Key,不允许有重复的元素,第二列是item,每一个...

  • EXCEL——VBA字典实现查找多列的重复项

    顾得猫宁,各位亲爱的读者。今天我们来讲一讲VBA编程中一个重要的知识点——字典。为了更好的让大家理解字典是什么意思...

  • VBA字典对象操作技巧

    VBA 中集合的功能比较弱,常见的有数组 (array) 、集合 (Collection)和字典,其中字典是 Ke...

  • VBA之字典

    方法1.1 add方法d.add(key,item) 1.2 Exits方法d.Exits(key) 1.3 ke...

  • VBA字典定位

    原始数据: 结果: 要求:在结果表中根据 Part Number(即原始数据中的Item)提取PONumber和R...

  • 35、[VBA入门到放弃笔记] 字典:操作字典

    编写VBA字典可以有以下四个动作:增,删,查,改。 1、增:增加字典条目,如将下列商品信息放进字典。 商品名称| ...

网友评论

    本文标题:二十八讲 VBA字典下

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