Excel VBA ——字典实用技巧

最近写了一些小功能,对字典有了进一步的理解,太强大了!

个人最近用过的字典应用有这么几个,写下来防止自己忘~同时方便大家

一、查找重复行

【原理】利用字典的exist方法,将数据加入字典时判断一下,如果已经存在,就说明当前数据为重复数据,应该删除

【示例代码】

Sub chongfu()         '查重
    Dim i As Long
    Dim endline As Long '定义工作表长度变量
    endline = Sheet3.Range("A30000").End(xlUp).Row '获取工作表Sheet3有数据的最后一行行号
    Set d = CreateObject("scripting.dictionary")    '设定字典d
    For i = endline To 2 Step -1         '从最后一行开始,依次把各个字段拼接到一起(注意,这里我的需求是这几个字段拼在一起的字符串不允许重复,因此我先拼接再判重)
        '把所有字符串拼接到数组里
        If Sheet3.Cells(i, 2) <> "" Then        '判断该行是否为空
            If IsError(Sheet3.Cells(i, 2)) = False Then  '如果关键单元格不是#N/A,则进入字典设置
                x = Sheet3.Cells(i, 2) '******************设置赋给字典的变量,即需要去重的单元格!*******************
                If Not d.Exists(x) Then     '判断是否重复
                    d(x) = x             '如果不重复,则把x定为item
                Else
                    Sheet3.Rows(i & ":" & i).Delete Shift:=xlUp        '如果字典中已有对应的item,则该行重复,删除重复的行
                End If
            End If
        End If
    Next
End Sub

【效果展示】

二、查找关键字

【原理】最常见的应用,根据key来查找对应的item

【示例代码】

建设中。。。。。。今晚更新

猜你喜欢

转载自www.cnblogs.com/shandongmiao/p/10767566.html
今日推荐