返回列表 上一主題 發帖

[發問] 兩個工作表合併欄位比對標示顏色

F/L欄,
1) 符號及空格要去除再比對嗎?  
2) 英文大小寫視為相同嗎?

TOP

先做個~~
  1. Sub 比對()
  2. Dim Arr, xD, Ra As Range, Rb As Range, j%, R&, T$, SS, C%
  3. Set xD = CreateObject("Scripting.Dictionary")
  4. Arr = Sheets("Sheet1").UsedRange: Set Ra = [Sheet1!A1]
  5. For R = 2 To UBound(Arr)
  6.     T = Arr(R, 2) & "|" & Arr(R, 3) & "|" & Arr(R, 4)
  7.     xD(T) = R & "|" & Arr(R, 6) & "|" & Arr(R, 12)
  8. Next
  9. '------------------------------
  10. Arr = Sheets("Sheet2").UsedRange: Set Rb = [Sheet2!A1]
  11. For R = 2 To UBound(Arr)
  12.     T = Arr(R, 2) & "|" & Arr(R, 3) & "|" & Arr(R, 4)
  13.     If T = "||" Then GoTo 102
  14.     SS = Split(xD(T) & "||", "|")
  15.     If Val(SS(0)) = 0 Then Union(Rb(R, 6), Rb(R, 12)).Interior.ColorIndex = 43: GoTo 102
  16.     For j = 1 To 2
  17.         C = Array(0, 6, 12)(j)
  18.         If SS(j) <> Arr(R, C) Then
  19.            Ra(SS(0), C).Interior.ColorIndex = 6
  20.            Rb(R, C).Interior.ColorIndex = 6
  21.         End If
  22.     Next j
  23.     xD.Remove T
  24. 102: Next
  25. '------------------------------
  26. For Each SS In xD.items
  27.    R = Val(Split(SS & "||", "|")(0))
  28.    If R > 0 Then Union(Ra(R, 6), Ra(R, 12)).Interior.ColorIndex = 43
  29. Next
  30. End Sub
複製代碼
Xl0000066.rar (14.62 KB)


=============================

TOP

        靜思自在 : 多做多得。少做多失。
返回列表 上一主題