排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
字典在VBA中的利用
字典在VBA中的利用
VBA语言専攻
2022-07-12
143
【分享成果,随喜正能量】珍惜每一次做选择的机会,因为你任何一个不用心的选择,都可能是别人一辈子都无法企及的机会,生活里的选择很多,但若不珍惜就不足以圆满人生。
。
《VBA数组与字典方案》教程是我推出的第三套教程,目前已经是第一版修订了。这套教程定位于中级,
字典是VBA的精华
,我要求学员必学。七、一、三、九组合套教程掌握后,可以解决大多数工作中遇到的实际问题。
这套教程共两册,一共八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是:字典在VBA中的利用
第三十七讲 在VBA中字典的应用方法
大家好,我们今日继续讲解
VBA数组与字典解决方案
第
37
讲内容:在VBA中字典的应用。对于字典,也许许多的朋友对此比较陌生,在有的语言里字典也称之为MAP,应用也是比较广泛的。
1 什么是字典
字典,其实就是一些“键-值”对。使用起来非常方便,有类似于微型数据库的作用,可用于临时保存一些数据信息。
2 VBA中创建字典的方法
用的是
WSH
引用,具体代码如下:
Dim myd As Object
Set myd = CreateObject("Scripting.Dictionary")
3 字典的方法
在利用字典中,有
Add
、
Exists
、
Keys
、
Items
、
Remove
、
RemoveAll
,六个方法。
①
Add
用于添加内容到字典中。如
myd.Add key, item
第一个参数为键,第二个参数为键对应的值
② E
xists
用于判断指定的关键词是否存在于字典(的键)中。如
myd.Exists(key)
。如果存在,返回
True
,否则返回
False
。通常会在向字典中添加条目的时候使用,即先判断字典中是否已存在这个记录,如果不存在则新增,否则进行其它的操作。
③
Keys
获取字典所有的键,返回类型是数组。如
myd.Keys()
④ It
ems
获取字典所有的值,返回类型是数组。如
myd.Items()
⑤ R
emove
从字典中移除一个条目,是通过键来指定的。
myd.Remove(key)
如果指定的键不存在,会发生错误。
⑥ R
emoveAll
清空字典。
4 字典的属性
字典有
Count
、
Key
、
Item
、
ConpareMode
四种属性
① C
ount
用于统计字典中键-值对的数量。也可以简单理解为统计字典中键的个数;
②
Key
用于更改字典中已有的键。如:
myd.Key("oapp") = "Orange"
如果指定的键不存在,则会产生错误。
③
Item
用于写入或读取字典中指定键的值,如果指定的键不存在,则会新增。如
.Item("oapp") = 10
5 简单的字典应用
下面以一个实例来说明字典的应用:在下图的
A
列有不同的键,要在对应的键中写入键值,然后把
C
列对应的键去掉,并任意增加一个键,最后在
E,F
列写出最后的键和键值
,
代码如下:
Sub MyNZsz_37() '第37讲 字典的应用
Dim dic As Object
Sheets("37").Select
Set dic = CreateObject("Scripting.Dictionary") '引用字典
Dim arr(1 To 21), i As Long '建立一个数组用来给键赋值
For i = 1 To 21
arr(i) = i + 99
Next i
For i = 1 To 20
dic(Cells(i, "a").Value) = arr(i) '写入键和键值,要注意写入的方法
Next i
i = 1
Do While Cells(i, 3) <> ""
dic.Remove (Cells(i, "c").Value) '移除C列的键值
i = i + 1
Loop
dic.Add "WW21", "234" '增加一个键,键值是234
[e1].Resize(dic.Count, 1) = Application.Transpose(dic.Keys) '转置显示键
[f1].Resize(dic.Count, 1) = Application.Transpose(dic.items) '转置显示键值
End Sub
代码截图:
代码讲解:
1)上述代码首先创建一个字典对象,然后,把工作表A列的值放到数组,作为键;第三步是给字典的键赋值,第四步移除C列的键对,第五步,增加一个键,第六步显示
2) Set dic = CreateObject("Scripting.Dictionary") '引用字典
字典的加载有两种办法,一个是CreateObject("Scripting.Dictionary"),另外一个是引用,就是在VBE窗口,打开引用,找到Dictionary的引用即可,本书中大多以SET形式来引用字典
3) For i = 1 To 21
arr(i) = i + 99
Next i
赋值一维数组,作为键值
4) For i = 1 To 20
dic(Cells(i, "a").Value) = arr(i) '写入键和键值,要注意写入的方法
Next i
写入键和键值。要特别注意是我实例中的写法
5) dic.Remove (Cells(i, "c").Value) '移除C列的键值
上述代码移除键和键值.
6)dic.Add "WW21", "234" '增加一个键,键值是234
上述代码增加键和键值.
7) [e1].Resize(dic.Count, 1) = Application.Transpose(dic.Keys) '转置显示键
[f1].Resize(dic.Count, 1) = Application.Transpose(dic.items) '转置显示键值
显示键和键值
运行后的截图:
今日内容回向:
1 什么是字典?
2 字典有哪些属性?
3 如何给字典赋值?
4 利用
字典如何进行排重?
我20多年的VBA实践经验,全部浓缩在下面的各个教程及各类工具中:
【分享成果,随喜正能量】世间一切乃众缘合和,众力所成,非独一人所能,是故当怀感恩之心。心怀感恩之人,心地善良,光明磊落;心怀感恩之人,善恶分明,懂得滴水之恩当涌泉相报。
。
vba
vba字典
vba数组
键值
文章转载自
VBA语言専攻
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨