- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 2# Michelle-W
試試看- Option Explicit
- Sub Ex()
- Dim d As Object, d_New As Object, i As Double, s As String, k As Variant
- Set d = CreateObject("scripting.dictionary") ' 字典物件 : List資料
- Set d_New = CreateObject("scripting.dictionary") ' 字典物件 : 比對出 List 所沒有的資料
- With Sheets("List").UsedRange
- For i = 2 To .Rows.Count
- s = Join(Application.Transpose(Application.Transpose(.Rows(i).Value)), ",")
- d(s) = .Rows(i)
- Next
- End With
- With Sheets("資料").UsedRange
- For i = 1 To .Rows.Count
- s = Join(Application.Transpose(Application.Transpose(.Rows(i).Value)), ",")
- If d.EXiSTS(s) = False Then d_New(s) = .Rows(i)
- Next
- End With
- With Sheets("此次新增").UsedRange
- .Clear
- If d_New.Count > 1 Then
- i = 1
- For Each k In d_New.KEYS
- .Cells(i, "A").Resize(, 3) = d_New(k)
- i = i + 1
- Next
- Else
- MsgBox "此次新增 沒有 新增資料 !"
- End If
- End With
- End Sub
複製代碼 |
|