返回列表 上一主題 發帖

[發問] 2 張 sheet 對照,然後把漏了的 加入,vba 應怎樣寫?

本帖最後由 GBKEE 於 2010-10-20 08:27 編輯

回復 3# basarasy
寫法不止一個
  1. Sub Ex()
  2.     Dim D As Object, E, Rng As Range
  3.     Set D = CreateObject("SCRIPTING.DICTIONARY")
  4.     For Each E In Sheet2.Range("A2", Sheet2.Range("A" & Rows.Count).End(xlUp))
  5.         D(E.Value) = E & ""
  6.     Next
  7.     For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
  8.         If D.Exists(E.Value) = False Then
  9.             If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
  10.         End If
  11.     Next
  12.     If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
  13. End Sub
  14. Sub Ex1()
  15.     Dim E, a&, Rng As Range
  16.     For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
  17.         If IsError(Application.Match(E, Sheet2.[a:a], 0)) Then
  18.             If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
  19.         End If
  20.     Next
  21.     If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
  22. End Sub
複製代碼

TOP

        靜思自在 : 一個人的快樂.不是因為他擁有得多,而是因為他計較得少。
返回列表 上一主題