EXCEL VBA 常见字典用法集锦及代码详解全Word格式.docx
《EXCEL VBA 常见字典用法集锦及代码详解全Word格式.docx》由会员分享,可在线阅读,更多相关《EXCEL VBA 常见字典用法集锦及代码详解全Word格式.docx(59页珍藏版)》请在冰豆网上搜索。
![EXCEL VBA 常见字典用法集锦及代码详解全Word格式.docx](https://file1.bdocx.com/fileroot1/2022-11/17/a7adc6f2-6236-41d4-8d06-6730ebe7a9d3/a7adc6f2-6236-41d4-8d06-6730ebe7a9d31.gif)
比如字典的“典”字的解释是这样的:
“典”字就是具有唯一性的关键字,后面的解释就是它的项,和“典”字联合组成一对数据。
.
常用关键字英汉对照:
字典Dictionary
关键字Key
条目Item项,或者译为
方法、Items字典对象的方法有6个:
Add方法、Keys方法、方法、ExistsRemove方法、RemoveAll方法。
Add方法向Dictionary对象中添加一个关键字项目对。
object.Add(key,item)
参数object
必选项。
总是一个Dictionary对象的名称。
key
与被添加的key。
item相关联的
item
。
key相关联的item必选项。
与被添加的
说明已经存在,那么将导致一个错误。
如果key
常用语句:
Dimd
Setd=CreateObject(Scripting.Dictionary)
d.Adda,Athens
d.Add,Belgrade
d.Addc,Cairo
代码详解声明为可变型数据类型:
创建变量,也称为声明变量。
变量1、dDimd
d。
也有写成Dim,d后面没有写数据类型,默认就是可变型数据类型(Variant)(Variant)AsObject的,声明为对象。
:
创建字典对象,并把字典对象赋给、Setd=CreateObject(Scripting.Dictionary)2。
用了这句代码就不用先引用d。
这是最常用的一句代码。
所谓的“后期绑定”变量c:
\windows\system32\scrrun.dll了。
、?
摁?
慜?
尠瑁敨獮:
添加一关键字”a”和对应于它的项”Athens”。
3
4、d.Add,“Belgrade”:
添加一关键字”b”和对应于它的项”Belgrade”。
5、d.Addc,“Cairo”:
添加一关键字”c”和对应于它的项”Cairo”。
方法Exists如果Dictionary对象中存在所指定的关键字则返回true,否则返回false。
object.Exists(key)
需要在Dictionary对象中搜索的key值。
Dimd,msg$
Ifd.Exists(c)Then
獭?
?
指定的关键字已经存在。
Else
指定的关键字不存在。
EndIf
代码详解,一Dimd,msg$(String):
声明变量,d见前例;
msg$声明为字符串数据类型、1的类型声明字符为美元号($)。
般写法为DimmsgAsString。
String,那么执行下面的语句。
如果字典中存在关键字”c”Ifd.Exists(c)Then2、字符串赋给:
把指定的关键字已经存在。
3、msg=指定的关键字已经存在。
变量msg4、Else:
否则执行下面的语句。
字符串赋给变量指定的关键字不存在。
把msg5、=指定的关键字不存在。
msg。
判断。
…:
结束EndifIf…ElseEndIf6、
Keys方法
返回一个数组,其中包含了一个Dictionary对象中的全部现有的关键字。
object.Keys()
其中object总是一个Dictionary对象的名称。
常用语句:
Dimd,k
Setd=CreateObject(Scripting.Dictionary)
3
k=d.Keys
[B1].Resize(d.Count,1)=Application.Transpose(k)
代码详解d、Dimd,k:
声明变量,见前例;
k默认是可变型数据类型(Variant)。
1。
得到的是一个一维数2k、k=d.Keys:
把字典中存在的所有的关键字赋给变量0组,下限为,上限为d.Count-1。
这是数组的默认形式。
这句代码是很常用很经典的3、[B1].Resize(d.Count,1)=Application.Transpose(k)
代码,所以这里要多说一些。
对象的一个属性,用于调整指定区域的大小,它有两个参数,第Resize是Range,指的是字典中关键字的数量,整本字典中有多少个关键一个是行数,本例是d.Count个关键字。
呵呵,是不是说多了。
,因为有3字,本例d.Count=3B1B1调整为以第二个是列数,本例是1。
这样=左边的意思就是:
把一个单元格调整B1,就是把单元格开始的一列单元格区域,行数等于字典中关键字的数量d.Count了。
为单元格区域B1:
B3工作表函数里面有个转Excel=右边的k是个一维数组,是水平排列的,我们知道中不能直接使,用它可以把水平排列的置换成竖向排列。
但是在置函数TransposeVBA属性来使用它。
所以Application对象的WorksheetFunction用该工作表函数,需要通过可,中间的WorksheetFunction完整的写法是Application.WorksheetFunction.Transpose(k)单元格开始的单元省略。
现在可以解释这句代码了:
把字典中所有的关键字赋给以B1格区域中。
Items方法对象中的所有项目。
返回一个数组,其中包含了一个Dictionary
object.Items()
Dictionaryobject其中总是一个对象的名称。
Dimd,t
t=d.Items
[C1].Resize(d.Count,1)=Application.Transpose(t)
代码详解1、Dimd,t:
t默认是可变型数据类型(Variant)。
。
得到的也是一个一维t:
把字典中所有的关键字对应的项赋给变量t=d.Items、2.
d.Count-1数组,下限为0,上限为。
方法的解释这Keys3、[C1].Resize(d.Count,1)=Application.Transpose(t):
有了上面单元格开始的单C1句代码就不用多说了,就是把字典中所有的关键字对应的项赋给以元格区域中。
Remove方法Remove方法从一个Dictionary对象中清除一个关键字,项目对。
object.Remove(key)
object总是一个对象的名称。
Dictionary其中
Dictionary对象中删除的关键字,项目对相关联。
key与要从说明如果所指定的关键字,项目对不存在,那么将导致一个错误。
……
)b”d.Remove(“代码详解现在字典里,”、d.Remove(“b”):
清除字典中b”关键字和与它对应的项。
清除之后1个关键字了。
只有2
RemoveAll方法RemoveAll方法从一个Dictionary对象中清除所有的关键字,项目对。
object.RemoveAll()
Dictionary对象的名称。
object总是一个其中常用语句:
d.RemoveAll
代码详解
5
清除字典中所有的数据。
也就是清空这字典,然后可以添加新1、d.RemoveAll的关键字和项,形成一本新字典。
属CompareMode属性、Item属性、字典对象的属性有4个:
Count属性、Key性。
属性Count返回一个Dictionary对象中的项目数。
只读属性。
object.Count
一个字典对象的名称。
其中object常用语句:
Dimd,n%
n=d.Count
代码详解。
一般写(Integer)d,n%:
n被声明为整型数据类型、1Dim
的类型声明字符为百分比号(。
%)法为DimnAsInteger。
Integer3:
把字典中所有的关键字的数量赋给变量n。
本例得到的是。
2、n=d.Count
Key属性对象中设置一个。
key在Dictionary
object.Key(key)=newkey
参数:
object
(Dictionary)对象的名称。
总是