|
请教一下,如何使用VBA在同一工作表中判断A列中的每一个单元格内容是否在B列当中出现过,如果有,则将A列中该单元格内容复制到C列中对应行位置的单元格中,对于B列中未在A列里出现的内容,C列中A列有效行对应行号以下的地方开始复制……文字描述可能表达不是很清楚,具体可以看下附件,谢谢!
- Sub Macro1()
- Dim arr, brr, d, i&, j&
- Set d = CreateObject("scripting.dictionary")
- arr = [a4:a8]
- brr = [g4:g9]
- ReDim crr(1 To 20000, 1 To 1)
- For i = 1 To UBound(arr)
- d(arr(i, 1)) = i
- Next
- n = d.Count
- For i = 1 To UBound(brr)
- If d.exists(brr(i, 1)) Then
- crr(d(brr(i, 1)), 1) = brr(i, 1)
- Else
- n = n + 1
- crr(n, 1) = brr(i, 1)
- d(brr(i, 1)) = n
- End If
- Next
- [d4:d20000] = ""
- Range("d4").Resize(n) = crr
- End Sub
复制代码
|
|