返回列表 上一主題 發帖

[發問] 找出重覆資料

本帖最後由 軒云熊 於 2021-3-5 03:23 編輯

回復 3# mdr0465

有空幫我試試看 是不是你要的結果 感謝  有一個問題 就是資料太多 會等很久...因為迴圈太多了而且是直接輸入到儲存格 看看有沒有大大可以幫忙  

0305.rar (22.53 KB)

TOP

本帖最後由 軒云熊 於 2021-3-5 22:04 編輯

回復 7# mdr0465

建議你用  ML089版大 的修改 剛才測試 資料過多的話 不會太慢...而且邏輯很清楚
  1. Sub test()

  2.     Dim D As Object, R, x, k

  3.     Application.ScreenUpdating = False
  4.     [A2:A10000].EntireRow.Interior.ColorIndex = xlNone
  5.     [H2:J10000].Clear

  6.     Set D = CreateObject("Scripting.Dictionary")
  7.     For Each R In Range("D1").CurrentRegion.Columns(4).Cells
  8.         R.Interior.ColorIndex = xlNone
  9.         If Not D.Exists(R.Value) Then
  10.             Set D(R.Value) = R
  11.         Else
  12.             Set D(R.Value) = Union(D(R.Value), R)
  13.         End If
  14.     Next
  15.     [H1] = "電話重覆儲存格位置"
  16.     [I1] = "對應場的名稱"
  17.     For Each R In D.KEYS
  18.         If D(R).Cells.Count > 1 Then
  19.             D(R).EntireRow.Interior.ColorIndex = 6
  20.             For Each x In D(R)
  21.                 x位置 = ""
  22.                 x場地 = ""
  23.                 For Each k In D(R)
  24.                     If x.Address <> k.Address Then
  25.                         x位置 = x位置 & "," & k.Address(0, 0)
  26.                         x場地 = x場地 & "," & k.Offset(0, -3)
  27.                     End If
  28.                 Next

  29.                 x.Offset(0, 2) = "Y"

  30.                 x.Offset(0, 4) = Mid(x位置, 2, 99)
  31.                 x.Offset(0, 5) = Mid(x場地, 2, 99)
  32.             Next
  33.         End If
  34.     Next
  35.     Application.ScreenUpdating = True
  36. End Sub
複製代碼

TOP

        靜思自在 : 每天無所事事,是人生的消費者,積極、有用才是人生的創造者。
返回列表 上一主題