|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
- Sub Test()
- Dim od, mArr, m
- Set od = CreateObject("scripting.dictionary")
- mRow = Sheet5.Cells(Rows.Count, 1).End(3).Row
- mArr = Sheet5.Range("A2:A" & mRow)
- For m = 1 To UBound(mArr)
- od(mArr(m, 1)) = "*"
- Next
- mRow = Sheet4.Cells(Rows.Count, 1).End(3).Row
- mArr = Sheet4.Range("A2:A" & mRow)
- For m = 1 To UBound(mArr)
- If Not od.exists(mArr(m, 1)) Then od(mArr(m, 1)) = mArr(m, 1)
- Next
- mArr = Filter(od.items, "*", False)
- Sheet5.[a65536].End(3).Offset(1).Resize(UBound(mArr) + 1) = WorksheetFunction.Transpose(mArr)
- End Sub
复制代码 上面是狼版的超级代码,一个字典解决问题,非常感谢.
- Dim nd, od, mArr, m, nk, nt, ok, ot
- Set nd = CreateObject("scripting.dictionary")
- mRow = Sheet4.Cells(Rows.Count, 1).End(3).Row
- mArr = Sheet4.Range("A2:A" & mRow)
- For m = 1 To UBound(mArr)
- nd(mArr(m, 1)) = nd(mArr(m, 1)) + 1
- Next
- nk = nd.keys
- nt = nd.items
- '取的一字典A
- Set od = CreateObject("scripting.dictionary")
- mRow = Sheet5.Cells(Rows.Count, 1).End(3).Row
- mArr = Sheet5.Range("A2:A" & mRow)
- For m = 1 To UBound(mArr)
- od(mArr(m, 1)) = od(mArr(m, 1)) + 1
- Next
- ok = od.keys
- ot = od.items
- '取的一字典B
- '接下来的代码如何写?
- '目的:
- '比较BA俩字典,将B字典里与A字典不重复的值追加到sheet5的A列末尾
复制代码
[ 本帖最后由 secowu 于 2010-12-10 09:01 编辑 ] |
|