返回列表 上一主題 發帖

[發問] 找出 相同的資料

[發問] 找出 相同的資料

本帖最後由 john2006168 於 2010-6-21 23:35 編輯

1.請問如果sheet1有些資料跟sheet2比較,相同的在指定的sheet "john" show 出來.
用vba怎麼寫??
2.如果不相同的,在指定的sheet "john" show 出來.
用vba又怎麼寫
TEST.zip (1.66 KB)

回復 1# john2006168
John2006168: 在Sheet1中也有相同的資料 請問 是單一的(不)相同資料 還是多筆的(不)相同資料
請附上含相同及不相同資料範例

TOP

回復 1# john2006168
  1. Sub Ex()
  2. Dim Ar(), Ay()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. Set d1 = CreateObject("Scripting.Dictionary")
  5. Set d2 = CreateObject("Scripting.Dictionary")
  6. With Sheet1
  7. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  8.    d(a.Value) = a.Value
  9.    d2(a.Value) = a.Value
  10. Next
  11. End With
  12. With Sheet2
  13. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  14.    d1(a.Value) = a.Value
  15.    d2(a.Value) = a.Value
  16. Next
  17. End With
  18. ReDim Preserve Ar(s): Ar(s) = "相同Name": s = s + 1
  19. ReDim Preserve Ay(k): Ay(k) = "不同Name": k = k + 1
  20. For Each ky In d2.keys
  21.   If d.exists(ky) = True And d1.exists(ky) = True Then
  22.   ReDim Preserve Ar(s) '相同
  23.   Ar(s) = ky
  24.   s = s + 1
  25.   Else
  26.   ReDim Preserve Ay(k) '不同
  27.   Ay(k) = ky
  28.   k = k + 1
  29.   End If
  30. Next
  31. With Sheet3
  32. .Cells = ""
  33. .[A1].Resize(s, 1) = Application.Transpose(Ar)
  34. .[B1].Resize(k, 1) = Application.Transpose(Ay)
  35. End With
  36. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 人的心地是一畦田,土地沒有播下好種子,也長不出好的果實。 -
返回列表 上一主題