时间:2023-02-17 15:41:50 | 浏览:281
大家好,我们今日继续讲解VBA代码解决方案的第126讲内容:在VBA中字典的应用。也许许多的朋友对此比较陌生,在有的语言里字典也称之为MAP,应用也是比较广泛的。
字典,其实就是一些"键-值"对。使用起来非常方便,有类似于微型数据库的作用,可用于临时保存一些数据信息。
一 VBA中创建字典:用的是WSH引用。
Dim myd As Object
Set myd = CreateObject("Scripting.Dictionary")
二 字典的方法,有Add、Exists、Keys、Items、Remove、RemoveAll,六个方法。
① Add 用于添加内容到字典中。如myd.Add key, item 第一个参数为键,第二个参数为键对应的值
② Exists用于判断指定的关键词是否存在于字典(的键)中。如myd.Exists(key)。如果存在,返回True,否则返回False。通常会在向字典中添加条目的时候使用,即先判断字典中是否已存在这个记录,如果不存在则新增,否则进行其它的操作。
③ Keys获取字典所有的键,返回类型是数组。如myd.Keys()
④ Items获取字典所有的值,返回类型是数组。如myd.Items()
⑤ Remove从字典中移除一个条目,是通过键来指定的。myd.Remove(key)如果指定的键不存在,会发生错误。
⑥ RemoveAll 清空字典。
三 字典的属性 有Count、Key、Item、ConpareMode四种属性
① Count用于统计字典中键-值对的数量。也可以简单理解为统计字典中键的个数;
② Key用于更改字典中已有的键。如:myd.Key("oapp") = "Orange" 如果指定的键不存在,则会产生错误。
③Item用于写入或读取字典中指定键的值,如果指定的键不存在,则会新增。如.Item("oapp") = 10
下面以一个实例来说明字典的应用:在下图的A列有不同的键,要在对应的键中写入键值,然后把C列对应的键去掉,同时增加一个键,最后在E,F列写出最后的键和键值:
代码如下:
Sub mynzdd()
Dim dic As Object
Sheets("sheet4").Select
Set dic = CreateObject("Scripting.Dictionary") "引用字典
Dim arr(1 To 100), i As Long "建立一个数组用来给键赋值
For i = 1 To 100
arr(i) = i + 99
Next i
i = 1
Do While Cells(i, 1) <> ""
dic(Cells(i, "a").Value) = arr(i) "写入键和键值,要注意写入的方法
i = i + 1
Loop
i = 1
Do While Cells(i, 3) <> ""
dic.Remove (Cells(i, "c").Value) "移除C列的键值
i = i + 1
Loop
dic.Add arr(100), "234" "增加一个键对应的键是arr(100)即199,键值是234
[e1].Resize(dic.Count, 1) = Application.Transpose(dic.Keys) "转置显示键
[f1].Resize(dic.Count, 1) = Application.Transpose(dic.items) "转置显示键值
End Sub
代码截图:
返回的结果如下:
我们可以看到,重复的键已经自动的去除了,需要删除的键也已经删除了,需要增加的也增加了,非常的简单。
今日内容回向:
1 什么是字典.它的方法和属性有哪些?
2 如何利用字典去重复的数据?
大家好,我们今日继续讲解VBA代码解决方案的第126讲内容:在VBA中字典的应用。也许许多的朋友对此比较陌生,在有的语言里字典也称之为MAP,应用也是比较广泛的。字典,其实就是一些"键-值"对。使用起来非常方便,有类似于微型数据库的作用,可
作为中国在近现代最具影响力的工具书之一:《康熙字典》可谓群众基础最深的非近现代字典,因为具有非常标准的笔划规则,因此很多老派人士都用它来做起名的参考。而在依照康熙字典取名时,五格笔划计算有些特殊的字需按特殊方法计算笔画,原则如下: 一、数
最近,《康熙字典》火了。因为这部老字典被不少起名者盯上了,成了家长眼中的“起名神器”。清代康熙年间编纂的《康熙字典》,在当时的影响很大,是读书人应举考试的必备书。而如今,新编汉语字典层出不穷,在人们的日常学习工作中,《康熙字典》似乎已经过时
说不出心里到底是什么滋味。夹杂着气愤,新华字典是孩子们学习汉字的标杆,为什么会有低俗内容?夹杂着失望,这些内容到底是怎么出现在字典里的?今天这样一则热搜引发了网友的激烈讨论。亡羊补牢,犹未迟也,现在能发现并下架已经不错了!但这背后所反映出来
汉字称得上大部头的字典有三部,一部是上个世纪六十年代日本人诸桥彻次编纂的《大汉和辞典》,一部是七十年代台湾出版的《中华大辞典》,第三部就是1986年出版的《汉语大字典》。感谢书籍电子化,不然这样大部头的书,普通人是无法得见的。日本的《大汉和
古代的书籍善本其实是最难保存的一种收藏品,我们比较常见到的古代书籍里面就有康熙字典这种书籍,一般像康熙字典这样的书,我们很容易认为就是康熙那个时代的书本,其实康熙字典有很多版本这些版本中绝大部分都是民国时期印刷的比较多一些,因为在康熙时代的
光明日报记者 陈雪 谭华一本“书龄”70年的字典,再度更新了。8月10日,《新华字典》(第12版)在北京图书大厦正式亮相。作为人手一本的“国民字典”,《新华字典》自1950年启动编撰以来,共经历了12次修订,上一次第11版修订为2011年6
【新华字典第12版首发:新华字典增添粉丝点赞等新词】今天,《新华字典》(第12版)正式首发:①增添新词达100多个,如“初心”“粉丝”“截屏”“二维码”“点赞”等;②增补了50个字词新义新用法,包括“卖萌”“拼车”等;③应用程序APP同步发
来源:人民网原标题:小字典记录大时代 9月1日,《新华字典》编纂70年暨第12版出版座谈会在北京人民大会堂举行。编纂者、出版者、读者等汇聚一堂,畅谈阅读使用《新华字典》的故事和感受。《新华字典》是新中国第一部现代汉语字典,迄今已经印行6亿多
《新华字典》第12版八月正式出版发行以来,已完成全国新华书店的上架工作。经过12次修订的《新华字典》,发行已超过6亿册。新版《新华字典》到底新在哪?第12版《新华字典》历经五年反复论证修改,有50多个专项全面升级,更加适合新时代读者,特别是
6月11日,由商务印书馆出版、中国社科院语言所修订的《新华字典》App(1.0版)正式上线,成为市场唯一正版的《新华字典》App。然而,其每天只能免费查两个字,完整版则需付费40元的情况,引发舆论争议。在应用商店中,《新华字典》的评分也两极
东汉经学家、文字学家许慎撰写的《说文解字》是我国首部以六书的观点为基础来阐释字形、分析字义的字典。《说文解字》将多数先秦字体及秦汉两代文字的训诂成果保留了下来,再现了古汉语词汇,有层次地阐释了关于文字的观点,因此被誉为我国文字学史上首部评析
字典APP开发给孩子们的学习带来便利,在线查字典,十分方便。在我们开始上学的时候就陪伴着我们成长,可以说《新华字典》见证了我们学习的过程,也见证了每个学生生涯的过程,而随着互联网的不断发展,类似新华字典APP开发出现在我们的生活中,只需要一
六书广场——指事、象形、形声、会意、转注、假借等许慎在说文解字中归纳总结的六书理论。几年前,去河南漯河龙塘办事,听说许慎文化园就在附近,心怀崇敬,特去拜谒。几年过去了,也不知现在变化大不大。子学宗师——许慎墓前的“字”形牌坊许慎(约58——
当我们回忆起童年生活,你还记得那本《新华字典》吗?近日,第12版《新华字典》正式亮相。一本“书龄”70年的字典,再度更新。8月10日,《新华字典》(第12版)在北京图书大厦正式亮相。作为人手一本的“国民字典”,《新华字典》自1950年启动编