字典功能的应用(循环)

本文介绍了一个使用VBA字典进行数据处理的应用案例。通过读取Excel文件中的数据,利用VBA字典来实现数据的快速查找和更新操作。具体步骤包括:打开指定路径的Excel文件并获取Sheet1中的数据;创建并填充字典;然后在另一个工作表中应用该字典进行数据映射。

Sub 字典功能应用()
    Dim i As Integer, arr()
    Dim dic As Object, wb As Object
    Dim kl As Integer
    For kl = 1 To 2
        Set wb = GetObject(ThisWorkbook.Path & "\汇总数据调整格式版.xls") ‘数据源
        With wb.Sheets("sheet1")
            i = .Range("A65536").End(xlUp).Row
            arr = .Range("A1").Resize(i, 2).Value
        End With
        wb.Close False
        Set dic = CreateObject("scripting.dictionary") ‘ 创建一个字典
        For i = 2 To UBound(arr) ‘取得arr数组的上限,从2开始,1为标题行,所以不用再取得.
            dic(arr(i, 1)) = arr(i, 2)
        Next i
        Erase arr
        With ThisWorkbook.Sheets(kl)
            i = .Range("A65536").End(xlUp).Row
            arr = Range("A1").Resize(i, 2).Value
            For i = 2 To UBound(arr)
                arr(i, 2) = dic(arr(i, 1))
            Next i
          
‘要求粘贴范围与arr数组范围必须一致!!

            i = .Range("A65536").End(xlUp).Row
            .Range("A1").Resize(.Range("A65536").End(3).Row, 2).NumberFormatLocal = "@"
            .Range("A1").Resize(i, 2).Value = arr
        End With
    Next kl
End Sub

菊子曰 今天你菊子曰了么?

转载于:https://www.cnblogs.com/xiehui/archive/2010/05/11/2004294.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值