VBA字典之基本概念和基本用法(非常详细)零基础入门到精通,收藏这一篇就够了

262 篇文章 11 订阅
195 篇文章 21 订阅

在VBA中,字典(Dictionary)是一种非常重要和常用的数据结构,它提供了一种高效的数据存储和检索方式,可以大大简化代码的编写和提高程序的执行效率。如果你连VBA字典都不会的话,你千万不要在自己的简历中声称自己精通Office,哈哈哈。

1、什么是字典

字典是一种用于存储数据的数据结构,类似于一个小型仓库。字典包含两列:第一列是key(键),每个key都是唯一的;第二列是item(值),可以重复。每个key对应一个item,也就是我们常说的键值对。

keyitem
刘备
62
孙权70
曹操65

2、字典的特点

字典具有速度快的特点,可以快速地查找和提取数据。例如,通过指定key的数值,可以立即返回对应的item,实现快速查找。此外,字典中的key列只能存储非重复的元素,方便提取不重复的数值。然而,字典也有其局限性,由于只能包含两列数据,所以处理多列数据需要通过字符串的组合和拆分来实现。此外,字典调用也会耗费一定时间,对于数据量较小的情况,字典的速度优势可能无法体现出来。

3、创建字典

创建字典有两种方法。

方法一:直接创建法

Set d = CreateObject("scripting.dictionary")

这种方法的缺点是无法直接查看字典对象的方法和属性。

方法二:引用法

工具 -> 引用-> 浏览 -> 找到scrrun.dll -> 确定 -> 勾选Microsoft Scripting Runtime-确定。

这种方法的缺点是其他人在拷贝代码后需要手动引用字典对象才能使用。

因此,为了方便自己编写代码和与他人分享代码,我一般都是同时采用这两种方法来创建字典对象。这样既能保证自己编写代码的便利性,又能避免他人在使用时需要额外引用字典对象的麻烦。

4、使用字典:装入数据

把单元格区域[A2:B4]的值装入字典。

Sub test()`    `Dim d As New Dictionary '创建一个字典`    `Dim i As Integer`    `For i = 2 To 4`        `d.Add Cells(i, 1).Value, Cells(i, 2).Value '把姓名列装到字典的第1列,把年龄列装到字典的第2列`    `Next i`    `MsgBox d.Keys(1) '查看字典中第1列中的第2个值``End Sub

输出结果:

5、使用字典:读取数据

把[A2:A4]的值读取到[D1:D3],把[B2:B4]的值读取到[E1:E3]。

Sub test()`    `Dim d As New Dictionary '创建一个字典`    `Dim i As Integer`    `For i = 2 To 4`        `d.Add Cells(i, 1).Value, Cells(i, 2).Value '把姓名列装到字典的第1列,把年龄列装到字典的第2列`    `Next i`    `Range("d1").Resize(d.Count) = Application.Transpose(d.Keys) '第一列的集合`    `Range("e1").Resize(d.Count) = Application.Transpose(d.Items) '第二列的集合``End Sub

输出结果:

6、使用字典:修改数据

修改曹操的年龄为66岁,并添加一行,诸葛亮:53岁。

Sub test()`    `Dim d As New Dictionary '创建一个字典`    `Dim i As Integer`    `For i = 2 To 4`        `d.Add Cells(i, 1).Value, Cells(i, 2).Value '把姓名列装到字典的第1列,把年龄列装到字典的第2列`    `Next i`    `d("曹操") = 66 '修改曹操的年龄为66岁`    `d("诸葛亮") = 53 '添加诸葛亮,年龄为53岁`    `MsgBox d("曹操")`    `MsgBox d("诸葛亮")``End Sub

输出结果:

7、使用字典:删除数据

从字典中删除孙权。

Sub test()`    `Dim d As New Dictionary '创建一个字典`    `Dim i As Integer`    `For i = 2 To 4`        `d.Add Cells(i, 1).Value, Cells(i, 2).Value '把姓名列装到字典的第1列,把年龄列装到字典的第2列`    `Next i`    `d.Remove ("孙权") '删除孙权`    `MsgBox d.Exists("孙权")``End Sub

输出结果:

由于孙权已经从字典中删除,所以不存在,弹出消息:False。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

VBA全称为Visual Basic for Applications,是一种由微软开发的用于自动化任务和宏编程的编程语言。VBA可以用于各种微软Office应用程序,例如Excel、Word和PowerPoint等。下面是关于VBA入门精通2010的一些重点内容和技巧。 首先,在学习VBA之前,建议先掌握Excel的基本操作和函数。了解如何创建、编辑和格式化Excel工作表,以及常用的函数和公式将有助于在VBA中编写更复杂和高效的代码。 入门阶段,你可以开始学习VBA基本语法、变量和数据类型。了解如何声明和使用变量,如何使用条件语句(如If-Then-Else语句)和循环语句(如For循环和While循环),以及如何处理数组和字符串等数据类型。 接下来,你可以学习VBA中的对象模型。对象是VBA中的核心概念,你可以通过操作对象来操作Excel中的各种元素,如工作表、单元格、图标等。熟悉Excel的对象模型将有助于开发更强大和灵活的VBA程序。 在进一步探索VBA时,你可以学习如何使用VBA处理用户界面。通过VBA可以创建自定义的用户界面,如对话框和用户输入框,用来与用户进行交互。这将使你的代码更加友好和易于使用。 此外,学习如何处理错误和异常也是很重要的。VBA提供了一些内置的错误处理机制,如On Error语句和Err对象,可以帮助你捕获和处理运行时错误。 最后,精通VBA需要不断实践和经验积累。尝试解决实际问题,编写复杂的VBA宏,以及参考相关文档、书籍和在线资源,将帮助你逐渐提高自己的技能水平。 总之,VBA入门精通需要一定的时间和耐心。掌握基本语法、对象模型和错误处理,学会处理用户界面,通过实践不断提高自己的编程技巧,你就能够在Excel和其他Office应用程序中编写强大、高效的VBA程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值