在Excel VBA中用字典对象存储多列数据的方法
作者:***
来源:《电脑知识与技术》2019年第01期
        摘要:本文旨在介绍一种方法,实现如何用VBA的字典对象,处理多列数据。并且结合工程实际,说明此方法在实际编程中如何应用。
        关键词:Excel;VBA;字典;多列数据
        中图分类号:TP311文献标识码:A文章编号:1009-3044(2019)02-0214-04
        当我们基于VBA编程的时候,往往面对的源数据,是存储在多个表单里的。并且每一个表单一般含有多列数据。在运算过程中,要调用这些源数据,就涉及数据的查询、检索。当然,最简单的方式就是去遍历单元格,如果数据量不大,这样的方式也是可以的。但如果数据量很大,需要频繁读写操作,往往会导致程序运行效率较低。
        这时经常用到的解决方法就是使用数组保存数据,在内存中进行数据处理和加工,最后一
次性更新工作表,这样的操作方式往往会极大提升程序的运行效率。
        但是,数组只能用于存储数据,而我们往往需要对数据进行查询,用于计算。有时,我们也需要判断某个数在数组里是否存在,有时要对数组进行扩展。同时,数组中的各个数据,它们的类型必须是相同的。
        Dictionary是随着Visual Basic 6.0新增的,具有某些强大功能的对象。字典不是VBA内置的类型,它是Windows脚本语言的。但其实字典在VBA中也是非常重要的,它非常适用于需要进行非重复性数据的操作。字典其实就是一些“键-值”对。在很多场合,它都能起到很大的作用,使用起来非常方便,有类似于微型数据库的作用,可用于临时保存一些数据信息。基于字典存储数据的特点,人们往往认为字典只能实现字典里的“值”,只能是单一的一个数据。
        本文的目的是介绍如何把多个数据作为字典的“值”装入字典。
        1 了解字典
        1.1 什么是字典?
        Dictionary 对象是“Scripting; ;Runtime; ;Library”的一部分,最早VBScript 中实现.(SCRRUN.DLL),它可以将任何形式的数据的条目存储在数组中。每个条目都与一个唯一的关键字相关联。该关键字用来检索单个条目,通常是整数或字符串,也可以是对象、集合等任何类型。
        字典对象的关键功能以及代码:
        1.2 VBA中的字典与现实世界中的字典
        为了说明什么是字典,可以拿现实世界中的字典来举例。例如,你如果想查一个词的意思,你会直接在字典里查这个词,而不会把整个字典都通读一遍。这个词,在VBA的字典对象里,就是Key,而词的意思,就是Item。
        再举一个实际生活中的例子,像手机里的电话本,人名就是Key(键),电话号码就是Item(值)。
        1.3 使用字典的实例
        下面举一个使用字典的实例,下面代码按照下面步骤运行:
        1) 将三个人名,每个赋一个值代表年龄,添加到字典;
        2) 弹出对话框让用户输入一个人名
手机下拉菜单
        3) 在字典里检索此人是否在字典里
        4) 如果是,显示人名和它的年龄
        5) 如果不是通知用户不存在
        Sub CheckAge()
        ' 在Visual Basic里选 Tools->References
        ' 在下拉菜单里勾选 "Microsoft Scripting Runtime"
        Dim dict As New Scripting.Dictionary
        ' 将人添加到字典
        dict.Add key:="Vincent", Item:=33

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。