標題:
[發問]
兩個工作表合併欄位比對標示顏色
[打印本頁]
作者:
jackie-ap
時間:
2020-4-2 20:25
標題:
兩個工作表合併欄位比對標示顏色
本帖最後由 jackie-ap 於 2020-4-2 20:36 編輯
各位前輩大大
有sheet1,sheet2兩個工作表, 各有上萬筆資料, 內容會重複, 筆數資料也會增減, [說明如下]: B,C欄是數字欄, 數字大小值會重複(如sheet1表B2~B4,B30~B33, sheet2表B2~B4,B33~B36), 排列方式是沒有固定, 有些會排在後面[如如sheet1表B欄12紅色數字在B2~B4,B30~B33(位置在檔案後面), sheet2表B欄12數字在B2~B4,B33~B36(位置在檔案後面)]; D欄是數字欄, 或是空白格(如sheet1表D4,D19, sheet2表D4,D18儲存格內容是空白格無資料), , 排列方式也沒有固定 但數字不會重複; F,L欄是需要分開做比對, 儲存格資料內容有大/小寫,有些是文字, 有些是特殊字如 “:”, “-”, “_”, “(” 或 ")"……, 字數也不會完全相同和儲存格前/中/後位置,可能有一個或多個“ ” (空白字).
[希望結果]:
1.同時對sheet1,sheet2的B,C,D欄進行合併比對, 若B,C,D欄資料完全相同就對F,L欄做合併比對, 假如sheet1,sheet2表B,C,D,F,L欄資料內容完全相同, 底色不做顏色改變.
2.假如sheet1,sheet2表B,C,D,欄資料內容相同, 但F,L欄中資料內容有不同的話,將sheet1,sheet2表F,L欄儲存格顏色為黃底色(如sheet1工作表L3 (Dog:cat LLL)儲存格資料內容, 與sheet2工作表L3 (Dog:cat MMM) 儲存格是不同, 顏色就標示黃底色), 若F,L欄儲存格資料內容同時不同時就分別標示顏色為黃底色(如sheet1, sheet2工作表中第4列 F4和L4 資料是不同的).
3.假如sheet1,sheet2表B,C,D,欄合併比對資料內容是不同(如sheet1工作表B,C,D,欄合併比對儲存格資料內容分別為 “13,5,5" 但sheet2工作表B,C,D,欄儲存格沒有“13,5,x(無)"¸ 表示兩個工作表沒有符合條件, 就將F,L欄儲存格分別標示顏色為綠底色.
4.結果顯示如sheet1a,sheet2a表, 如黃底色和綠底色.
以上 懇請前輩大大協助, 謝謝!
作者:
准提部林
時間:
2020-4-3 11:13
F/L欄,
1) 符號及空格要去除再比對嗎?
2) 英文大小寫視為相同嗎?
作者:
准提部林
時間:
2020-4-3 12:28
先做個~~
Sub 比對()
Dim Arr, xD, Ra As Range, Rb As Range, j%, R&, T$, SS, C%
Set xD = CreateObject("Scripting.Dictionary")
Arr = Sheets("Sheet1").UsedRange: Set Ra = [Sheet1!A1]
For R = 2 To UBound(Arr)
T = Arr(R, 2) & "|" & Arr(R, 3) & "|" & Arr(R, 4)
xD(T) = R & "|" & Arr(R, 6) & "|" & Arr(R, 12)
Next
'------------------------------
Arr = Sheets("Sheet2").UsedRange: Set Rb = [Sheet2!A1]
For R = 2 To UBound(Arr)
T = Arr(R, 2) & "|" & Arr(R, 3) & "|" & Arr(R, 4)
If T = "||" Then GoTo 102
SS = Split(xD(T) & "||", "|")
If Val(SS(0)) = 0 Then Union(Rb(R, 6), Rb(R, 12)).Interior.ColorIndex = 43: GoTo 102
For j = 1 To 2
C = Array(0, 6, 12)(j)
If SS(j) <> Arr(R, C) Then
Ra(SS(0), C).Interior.ColorIndex = 6
Rb(R, C).Interior.ColorIndex = 6
End If
Next j
xD.Remove T
102: Next
'------------------------------
For Each SS In xD.items
R = Val(Split(SS & "||", "|")(0))
If R > 0 Then Union(Ra(R, 6), Ra(R, 12)).Interior.ColorIndex = 43
Next
End Sub
複製代碼
[attach]31856[/attach]
=============================
作者:
jackie-ap
時間:
2020-4-3 22:37
回復
3#
准提部林
版主 非常謝謝
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)