VBA中Dictionary对象使用小结

VBA中Dictionary对象使用小结

Dim dict

' 创建Dictionary
Set dict = CreateObject("Scripting.Dictionary")

' 增加项目
dict.Add "A", 300
dict.Add "B", 400
dict.Add "C", 500

' 统计项目数
n = dict.Count

' 删除项目
dict.Remove ("A")

' 判断字典中是否包含关键字
dict.exists ("B")

' 取关键字对应的值,注意在使用前需要判断是否存在key,否则dict中会多出一条记录
Value = dict.Item("B")

' 修改关键字对应的值,如不存在则创建新的项目
dict.Item("B") = 1000
dict.Item("D") = 800

' 对字典进行循环
k = dict.keys
v = dict.Items
For i = 0 To dict.Count - 1
key = k(i)
Value = v(i)
MsgBox key & Value
Next

' 删除所有项目

dict.Removeall

实例:

Sub 宏1()

Set dic = CreateObject("Scripting.Dictionary") '字典
For i = 1 To 10000
If Not i Like "*4*" Then
dic.Add i, "" '如果不包含“1”
End If
Next
Range("a2").Resize(dic.Count, 1) =Application.WorksheetFunction.Transpose(dic.keys)'从A2单元开始向下放置
End Sub




=========================================================================

又 Tranpose工作表函数的用法实例


'把一行多列的二维数组转换成一维数组

Sub test()
Dim arr, arrt
arr = Range("a1:j1")
arrt =WorksheetFunction.Transpose(WorksheetFunction.Transpose(arr))
Stop
End Sub

首先看看TRANSPOSE函数的基础用法。官方帮助说明,TRANSPOSE函数可返回转置单元格区域,即将行单元格区域转置成列单元格区域,反之亦然。

  TRANSPOSE函数语法是:TRANSPOSE(array)

  Array参数是需要进行转置的数组或工作表上的单元格区域。所谓数组的转置就是,将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值