返回列表 上一主題 發帖

匯出_但不重覆匯出的資料

回復 2# Hsieh

   Dear 超版主 大大

  真的很感謝你,很快的就解決我的問題,我也有將您的每行程式碼細細測試並了解
  大大用的方式是先將資料記錄起來,再用陣列的方式比對,看是否有不一樣的資料
  再將不一樣的資料記錄起來,最後再將不一樣的資料放在DATA中

  因為我給大大的範例是屬於條件式都是在一起的情況下,但是大大若我的條件修改為不是連續的情況下 (亦極條件與條件中間是有其他資料的時候)
  我有試著自行修改,但無奈小弟功力尚淺,無法用大大的模式修改好
  只好再請大大指教

  附件為問題之範例 匯出_但不重覆_延伸題.rar (10.68 KB)

TOP

回復 1# hugh0620
  1. Private Sub CommandButton1_Click()
  2. Dim Ay()
  3. Set d = CreateObject("Scripting.Dictionary")
  4. With Sheet2
  5. ar = .Range(.[B5], .[B5].End(xlDown).Offset(, 2))
  6. For i = 1 To UBound(ar, 1)
  7. mystr = Join(Application.Index(ar, i))
  8. d(mystr) = d.Count
  9. Next
  10. With Sheet1
  11. ar = .Range(.[B5], .[B5].End(xlDown).Offset(, 3))
  12. For i = 1 To UBound(ar, 1)
  13. mystr = Join(Array(ar(i, 1), ar(i, 2), ar(i, 3)))
  14. If d.exists(mystr) = False Then
  15. ReDim Preserve Ay(s)
  16. Ay(s) = Application.Index(ar, i)
  17. s = s + 1
  18. End If
  19. Next
  20. End With
  21. If s > 0 Then .[B65536].End(xlUp).Offset(1, 0).Resize(s, 4) = Application.Transpose(Application.Transpose(Ay))
  22. End With
  23. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 手心向下是助人,手心向上是求人;助人快樂,求人痛苦。
返回列表 上一主題