VBA(三)集合、字典

一、集合

  1、集合是什么?

    集合是用来存储数据的,可以理解为一个容器;

    和数组Array相比,集合可以删除容器中的任意数据,但是不能够像数组那样直接输出到excel表格中。

       2、创建

复制代码
Sub test1()
    'Dim c As Collection
    
    'Set c = New Collection
    
    Dim c As New Collection '推荐使用这句来定义集合
    
    For i = 1 To 10
        c.Add i
    Next
    
End Sub
复制代码

  3、方法

    Add 向集合中添加数据 

复制代码
Sub test1()
    'Dim c As Collection
    
    'Set c = New Collection
    
    Dim c As New Collection '推荐适用这句来定义集合
    
    For i = 1 To 10
        c.Add i
    Next
    

    MsgBox c(1) '弹出1
    

End Sub
View Code
复制代码

    Remove 删除集合中的数据

    原则:后面的数据会自动向前进1位

复制代码
Sub test1()
    'Dim c As Collection
    
    'Set c = New Collection
    
    Dim c As New Collection '推荐适用这句来定义集合
    
    For i = 1 To 10
        c.Add i
    Next
    
    c.Remove (1)

    MsgBox c(1) '弹出2
    

End Sub
View Code
复制代码

    Itme 获取集合中的数据

复制代码
Sub test2()
    
    Dim c As New Collection
    
    For i = 1 To 10
        c.Add i
    Next
    
    MsgBox c.Item(10) '弹出10
    
    MsgBox c(10) '弹出10,建议用这种方式获取集合数据
    
End Sub
View Code
复制代码

  4、属性

     Count 获取集合中数据的个数

复制代码
Sub test1()
    
    Dim c As New Collection
    
    For i = 1 To 10
        c.Add i
    Next
    
    MsgBox c.Count '弹出10
    

End Sub
View Code
复制代码

二、字典

  1、字典是什么

    可以理解为也是用来装数据的容器,例如{"小明":"属猴","小华":"属狗","小青":"属蛇","小白":"属蛇","小小明":"属猴"}

    字典的特性是一个名称(Key)对应一个内容(Item),名称是不可以重复的,但是内容是可以重复的。

    可以利用字典Key的不重复性,进行数据的筛选;

  2、字典的创建

    方法一,前期绑定:

      这个方法优点是代码提示功能,缺点是在其他电脑上运行这个vba代码不能够运行(解决办法,在运行PC上前期绑定)

      工具 --> 引用 ---> 勾选 "Microsoft Scripting Runtime" 

       

 

       

 

    方法二,后期绑定:

      这个方法优点是可以在其他电脑上运行Vba代码,缺点是没有提示功能。

      输入如下代码进行绑定:

        Dim dic As Object
        Set dic = CreateObject("scripting.dictionary")

  3、字典的属性

    ①、CompareMode,当添加key时对key为大小写是否敏感,默认是为 0 不明感。

    测试如下:

        

 

    ②、Exists,用来判读字典中是否存在一个key,如果存在返回True 否则 返回 False

    

 

    ③、Count,获取字典中有多少个元素,返回数值

    测试如下:

    

   

  4、字典的方法

    ①、Add,向字典中添加数据

      dic.add "A","123"

 

    ②、Key,根据Key来修改key

    

 

    ③、Item,根据Key来修改Itme的值

      dic.Item("A") = 2 等价 dic("A") = 2

    

 

 

 

    ④、Keys,获取所有的key 组成一个集合,通过循环可以获取每个Key

      注意 str 要定义为一个 Variant

    

 

    ⑤、Items,获取所有的item 组成一个集合,通过循环可以获取每个Item

      ... ...

 

    ⑥、Remove,删除指定的key键值对

      dic.Remove("A")

 

    ⑦、RemoveAll,清空字典

      dic.RemoveAll

 

完结... ...

posted @   你的长颈鹿  阅读(2413)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示