以上示例出处:http://club.excelhome.net/thread-926188-1-1.html
结论: 如果进行编程,推荐使用字典,但是也不能不使用集合,例如sheets(1)或者sheets(“明细”)就是一个集合的使用。
Excel VBA 中使用字典总结collection(集合)对象VBA中有一个集合对象(collection),Collection 对象是一组可称为“单元”的有序项目的集合,可以理解为可以随意增减数量的一维数组。Collection对象提供了一种方便的方法,可以将相关的一组项目当作单个对象进行引用。集合的成员不必共享相同的数据类型。collection 成员object.count 属性:long类型,返回collection对象中元素的个数object.add(item,key
基于多条记录有多种存储方法,而我们在选择使用哪种方法时考虑最多的还是其执行哪种方法的执行速度比较快,本人特编写了此程序,用于对比四种最常用的方法(数组、集合、列表、数据表)的执行速度。
又因为列表与数据表两种方案又有多种查询方法,此程序又加上了列表的find与findindex方法的比较和数据表的rows.find方法与其对应的dataview的findrows方法、filter方法的执行速度比较
程序用vb2010编写,需要.net 4.0框架支持,运行前请先安装4.0框架
数组和集合在VBA中是常用的数据类型,这里水文具工集在VBA中实现数组Array与集合Collection的相互转换,编写了两个通用的过程ArrayToCollection与CollectionToArray,方便程序中调用,具体源代码如下:
数组转换到集合ArrayToCollection
'================================
' VBA数组转换到集合Arr
Application.ScreenUpdating = False
Name = "安智-送货单12.18"
MP = "E:\杭实\运营数据\开单电子台账\" & Name & ".xlsx" '工作簿路径
Set Wb = Workbooks.Open(MP)
'清空数据
last_row_clear = ThisWorkbook.Sheets("送货单").Cel
1 Sub test()
2 ' Dim s As Collection '定义s变量为集合对象
3 ' Set s = New Collection '初始化集合对象s (否则无法使用)
5 Dim s As New Collection '推荐这句代码,直接初始化,可以不用再Set了
7 '集合s中添加元素的方法
8 Fo...
VBA集合Collection创建集合集合常用属性和方法添加集合大小读取集合特定元素内容集合删除办法
创建集合
Dim c As New Collection
集合常用属性和方法
语法:Collection.Add (item,key,before,after)
item:添加到集合的项
key:键,唯一性的,add方法如果重复报错
before:插入位置,在哪个位置前面,可以是索引(...
下面代码示范如何创建 Dictionary 对象:
Dim myd As Object
Set myd = CreateObject("Scripting.Dictionary")
d.Add "a", "Athens" ’添加键和项目。
d.Add "b", "Belgrade"
d.Add "c...
Excel VBA中,可以使用字典嵌套字典的数据结构。这种数据结构可以用于存储和管理复杂的数据,例如多层嵌套的JSON数据。下面是一个示例代码,演示如何创建和使用字典嵌套字典:
```vb
' 创建一个字典
Dim dict1 As Object
Set dict1 = CreateObject("Scripting.Dictionary")
' 创建一个嵌套字典
Dim dict2 As Object
Set dict2 = CreateObject("Scripting.Dictionary")
' 向嵌套字典中添加数据
dict2.Add "key1", "value1"
dict2.Add "key2", "value2"
' 将嵌套字典添加到主字典中
dict1.Add "dict2", dict2
' 访问嵌套字典中的数据
Debug.Print dict1("dict2")("key1") ' 输出"value1"
在上面的代码中,我们首先创建了一个主字典`dict1`,然后创建了一个嵌套字典`dict2`,并向其中添加了两个键值对。最后,我们将`dict2`添加到`dict1`中,并通过`dict1("dict2")("key1")`的方式访问了嵌套字典中的数据。