VBA中字典的写入技巧

转自:微点阅读  https://www.weidianyuedu.com/content/4717493265745.html

字典的基本概念,调用方法以及字典的6个方法和4个属性,那在实际应用字典之前,我们总该了解下字典的写入技巧。

写入技巧一:add方法

下图中A列为姓名,有重复的,我们都知道字典里的key是不能重复的,如果我们能把A列的姓名写入字典,那么得到的keys就是不重复的姓名,这样就达到了去重复的目的。

往字典中写入项目对用Add方法,所以我们直接用该方法写入,先把A列数据写入数组,然后从数组中循环出每个值分别写入字典。在写入的过程中,如果遇到重复值,代码运行肯定会产生错误提示,所以我们用错误提醒语句让代码运行出现错误时直接跳到下一句执行。

Sub test1()

Dim d As Object, arr, i%, arr1

On Error Resume Next

Set d = CreateObject("scripting.dictionary")

arr = Range("a2:a11")

For i = 1 To 10

d.Add arr(i, 1), ""

Next

arr1 = d.keys

Range("b2:b7") = Application.Transpose(arr1)

End Sub

最后用arr1把keys取出来,直接写入B2:B7中,效果如下:


写入技巧二:修改item的值

前面章节在讲item属性时,我们讲过修改item的值的方法

d.item("key")="新的item"

本例中item全部为空,所以我们只要把每个key对应的item改为空值,字典中如果没有的key值就会加进去,如果有的那就修改。

Sub test2()

Dim d As Object, arr, i%, arr1

Set d = CreateObject("scripting.dictionary")

arr = Range("a2:a11")

For i = 1 To 10

"d.Item(arr(i, 1)) = ""

Next

arr1 = d.keys

Range("c2:c7") = Application.Transpose(arr1)

End Sub

"d.Item(arr(i, 1)) = ""也可以简写为d(arr(i, 1)) = ""。

第一种方法相当与把数组中的每个元素用Add的方法写进字典里,第二种方法相当于把数组中的每个元素以修改item值的方法逐个添加到字典中。以上两个技巧非常重要,在以后的实战中经常用到。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值