- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
本帖最後由 GBKEE 於 2010-10-20 08:27 編輯
回復 3# basarasy
寫法不止一個- Sub Ex()
- Dim D As Object, E, Rng As Range
- Set D = CreateObject("SCRIPTING.DICTIONARY")
- For Each E In Sheet2.Range("A2", Sheet2.Range("A" & Rows.Count).End(xlUp))
- D(E.Value) = E & ""
- Next
- For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
- If D.Exists(E.Value) = False Then
- If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
- End If
- Next
- If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
- End Sub
- Sub Ex1()
- Dim E, a&, Rng As Range
- For Each E In Sheet1.Range("A3", Sheet1.Range("A" & Rows.Count).End(xlUp))
- If IsError(Application.Match(E, Sheet2.[a:a], 0)) Then
- If Rng Is Nothing Then Set Rng = E.Resize(, 3) Else Set Rng = Union(Rng, E.Resize(, 3))
- End If
- Next
- If Not Rng Is Nothing Then Rng.Copy Sheet2.Range("A" & Rows.Count).End(xlUp).Offset(1)
- End Sub
複製代碼 |
|