标题: 利用字典来循环对比两个表,提高效率 [打印本页]

作者: 3lian    时间: 2014-3-1 01:15
标题: 利用字典来循环对比两个表,提高效率
Public Sub withDic()
Dim dc As Object, rng As Range  '把字典DC定义为Object
Set dc = CreateObject("Scripting.Dictionary")   '设置字典
Debug.Print Now    '输出程序开始的时间,用于计算程序总共用多少时间
For Each rng In ThisWorkbook.Worksheets("123").Range("C2:C1121")  '把一个表的值全部插入字典中
    If Not dc.exists(rng.Value) Then dc.Add rng.Value, "zhangsan"   '插入的过程中要判断是否有重复值,否则会报错;引号中是给每个值给一个键,此处所有键都一样,如果想要不一样可以价格计数器给每个键递增标注
Next
For Each rng In ThisWorkbook.Worksheets("renxing").Range("A1:A153") '开始遍历需要操作的表
    If dc.exists(rng.Value) Then  '如果有相同的就标注有或者没有
        rng.Offset(0, 1).Value = "有"
    Else
        rng.Offset(0, 1).Value = "没有"
    End If
Next
Debug.Print Now '输出程序结束的时间,用于计算程序总共用多少时间
End Sub




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1