- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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
VB中的Dictionary对象
核心归纳:
1、更换键名,用obj.key(xx)=newxx
2、更换键值或访问指定键:1、重设键值:obj.item(xx)=newxx,2、取得键值:response.write obj.item(xx)= ,如果obj.item(xx)=newxx 中的KEY键“xx”未设定时,会在对象的后面增加一个键值对。
3、获得条目数:obj.count (从1开始)
4、增加键值对:obj.add key,value
5、移除键:obj.remove(key) , obj.removeall()
6、判定键是否存在:obj.Exists(key)
7、遍历:先把键和值各自赋给一个变量,构成一维数组,再用FOR遍历
a=d.keys
b=d.Items
For x=0 to d.count-1 或 从上到下遍历,
For x=d.Count-1 To 0 Step -1 从下到上遍历 wan : abc zuo : 10254
Response.write a(x)
Response.write :
Response.write b(x)
Response.write br /
Next
8、用obj..CompareMode = 0(二进制,默认,大小写敏感)或obj.CompareMode = 1(文本,大小写不区分,但不会后面的覆盖前面)来指定比较模式,
=================================================================
简单的理解:Scripting.Dictionary对象相当于二维数组,但比二维数组更灵活,可以随时操纵其中某个键,而二维数组还要遍历。
以下用一个简单的案例来帮助理解:
set d=server.CreateObject(scripting.dictionary)
d.add zuo,21312
d.add wan,abc
response.write d.Count 计数,从1开始
Response.write br /
a=d.keys
b=d.Items
For x=0 to d.count-1 或 从上到下遍历,
For x=d.Count-1 To 0 Step -1 从下到上遍历 wan : abc zuo : 10254
Response.write a(x)
Response.write :
Response.write b(x)
Response.write br /
Next
Response.write d.item(wan) 输出指定的key值
Response.write br /
d.item(wan)=新值
Response.write d.item(wan) 输出指定的key值
Response.write br /
d.key(wan)=newwan 更改键名
wan键名更改了,
文档评论(0)