77范文网 - 专业文章范例文档资料分享平台

VBA字典用法集锦及代码详解(2)

来源:网络收集 时间:2018-12-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

常见字典用法集锦及代码详解

数组,下限为0,上限为d.Count-1。这是数组的默认形式。

3、[C1].Resize(d.Count,1)=Application.Transpose(t) :有了上面Keys方法的解释这句代码就不用多说了,就是把字典中所有的关键字对应的项赋给以C1单元格开始的单元格区域中。

Remove方法

Remove 方法从一个 Dictionary 对象中清除一个关键字,项目对。 object.Remove(key )

其中 object 总是一个 Dictionary 对象的名称。 key

必选项。key 与要从 Dictionary 对象中删除的关键字,项目对相关联。 说明

如果所指定的关键字,项目对不存在,那么将导致一个错误。

常用语句: Dim d

Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ ……

d.Remove(“b”) 代码详解

1、d.Remove(“b”):清除字典中”b”关键字和与它对应的项。清除之后,现在字典里只有2个关键字了。

RemoveAll方法

RemoveAll 方法从一个 Dictionary 对象中清除所有的关键字,项目对。 object.RemoveAll( )

其中 object 总是一个 Dictionary 对象的名称。 常用语句: Dim d

Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ ……

d.RemoveAll

6

字典的简介

代码详解

1、d.RemoveAll:清除字典中所有的数据。也就是清空这字典,然后可以添加新的关键字和项,形成一本新字典。

字典对象的属性有4个:Count属性、Key属性、Item属性、CompareMode属性。

Count属性

返回一个Dictionary 对象中的项目数。只读属性。 object.Count

其中 object一个字典对象的名称。 常用语句: Dim d,n%

Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ n = d.Count 代码详解

1、Dim d, n% :声明变量,d见前例;n被声明为整型数据类型(Integer)。一般写法为Dim n As Integer 。 Integer 的类型声明字符为百分比号 (%)。

2、n = d.Count :把字典中所有的关键字的数量赋给变量n。本例得到的是3。

Key属性

在 Dictionary 对象中设置一个 key。 object.Key(key) = newkey 参数: object

必选项。总是一个字典 (Dictionary) 对象的名称。 key

必选项。被改变的 key 值。 newkey

必选项。替换所指定的 key 的新值。 说明

如果在改变一个 key 时没有发现该 key,那么将创建一个新的 key 并且其相关联的 item 被设置为空。

常用语句: Dim d

7

常见字典用法集锦及代码详解

Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ d.Key(\ 代码详解

1、d.Key(\= \:用新的关键字”d”来替换指定的关键字”c”,这时,字典中就没有关键字c了,只有关键字d了,与d对应的项是”Cairo”。

Item属性

在一个 Dictionary 对象中设置或者返回所指定 key 的 item。对于集合则根据所指定的 key 返回一个 item。读/写。

object.Item(key)[ = newitem] 参数 object

必选项。总是一个Dictionary 对象的名称。 key

必选项。与要被查找或添加的 item 相关联的 key。 newitem

可选项。仅适用于 Dictionary 对象;newitem 就是与所指定的 key 相关联的新值。

说明

如果在改变一个 key 的时候没有找到该 item,那么将利用所指定的 newitem 创建一个新的 key。如果在试图返回一个已有项目的时候没有找到 key,那么将创建一个新的 key 且其相关的项目被设置为空。

常用语句: Dim d

Set d = CreateObject(\ d.Add \ d.Add \ d.Add \ MsgBox d.Item(\ 代码详解

1、d.Item(\:获取指定的关键字”c”对应的项。

2、MsgBox :是一个VBA函数,用消息框显示。如果要详细了解MsgBox函数的,可参见我的另一篇文章“常用VBA函数精选合集”。http://club.excelhome.net/thread-387253-1-1.html

8

实例1 普通常见的求不重复值问题

CompareMode属性

设置或者返回在 Dictionary 对象中进行字符串关键字比较时所使用的比较模式。 object.CompareMode[ = compare] 参数 object

必选项。总是一个 Dictionary 对象的名称。 compare

可选项。如果提供了此项,compare 就是一个代表比较模式的值。可以使用的值是 0 (二进制)、1 (文本), 2 (数据库)。

说明

如果试图改变一个已经包含有数据的 Dictionary 对象的比较模式,那么将导致一个错误。

常用语句: Dim d

Set d = CreateObject(\ d.CompareMode = vbTextCompare d.Add \ d.Add \ d.Add \

d.Add \代码详解

1、d.CompareMode = vbTextCompare :设置字典的比较模式是文本,在这种比较模式下不区分关键字的大小写,即关键字”b”和”B”是一样的。vbTextCompare的值为1,所以上式也可写为 d.CompareMode =1 。如果设置为vbBinaryCompare(值为0),则执行二进制比较,即区分关键字的大小写,此种情况下关键字”b”和”B”被认为是不一样的。

2、d.Add \:添加一关键字”B”和对应于它的项”Baltimore”。由于前面已经设置了比较模式为文本模式,不区分关键字的大小写,即关键字”b”和”B”是一样的,此时发生错误添加失败,因为字典中已经存在”b”了,字典中的关键字是唯一的,不能添加重复的关键字。

实例1 普通常见的求不重复值问题

一、问题的提出:

表格中人员有很多是重复的,要求编写一段代码,把重复的人员姓名以及重复的次数求出来,复制到另一个表格中。

如图实例1-1所示。

9

常见字典用法集锦及代码详解

论坛网址:http://club.excelhome.net/thread-637004-1-1.html

图 实例1-1

二、代码: Sub cfz()

Dim i&, Myr&, Arr Dim d, k, t

Set d = CreateObject(\Myr = Sheet1.[a65536].End(xlUp).Row Arr = Sheet1.Range(\& Myr) For i = 2 To UBound(Arr) d(Arr(i, 3)) = d(Arr(i, 3)) + 1 Next k = d.keys t = d.items Sheet2.Activate

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VBA字典用法集锦及代码详解(2)在线全文阅读。

VBA字典用法集锦及代码详解(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/380702.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: