返回列表 上一主題 發帖

跨欄對比

跨欄對比


有三個表格,在表格“1”執行,
表格“1” 欄B 和欄G 兩樣分別在表格“KP" & "KH" 找尋,如果找到相同的數據。

舉例:
96089 & 5580 組合在KP 表�塈鋮�
“1”表的欄M (Project) 傳回"KP"表的 "$A$1"
“1”表的欄O (KP) 傳回"KP"表的 "$C$1"

96183 & 4780 組合在 KP & KH 表�堻ㄖ鋮�
"1”表的欄M (Project) 傳回"KP"表的 "$H$1" & "KH" 表的“$H$1", 兩者都是"BH" 相同,所以顯示"BH"
"1”表的欄N (KH) 傳回"KH"表的 "$J$1"
"1”表的欄O (KP) 傳回"KP"表的 "$J$1"

94851 & 5370 組合在 KH 表�堻ㄖ鋮�
"1”表的欄M (Project) 傳回"KH"表的 "$A$1" &  "$H$1", 兩者不 相同,所以顯示"BF/BH"
"1”表的欄N (KH) 傳回"KH"表的 "$C$1" &  "$J$1", 兩者都是“噴油”相同,所以顯示“噴油”

96093 & 5260 組合在 KH & KP表�堻ㄖ鋮�
"1”表的欄M (Project) 傳回"KP"表的"$A$1" & "$H$1" & "KH" 表的"$A$1" & "$H$1", 四都是"BF/ BH/ BF/ BH" 相同,因爲重複,所以顯示"BF/ BH"
"1”表的欄N (KH) 傳回"KH"表的 "$C$1" &  "$J$1", 兩者都是“噴油”相同,所以顯示“噴油”
"1”表的欄O (KP) 傳回"KP"表的  "$C$1" &  "$J$1", 兩者都是“噴油”相同,所以顯示“噴油”

對比.rar (15.59 KB)

回復 1# 198188


    圖片是執行前及執行后效果,以及兩個資料庫 KP & KH。

TOP

回復 3# Andy2483


    KH 資料表的 H1 儲存格

TOP

回復 5# Andy2483



    運行VBA后,KP内是 H- J 欄沒有讀取出來,以至黃色部分不正確。
KP & KH 兩個表格�堙A都有分別有兩份資料,欄 A - C   & 欄 H - J

TOP

本帖最後由 198188 於 2024-3-4 18:20 編輯

回復 7# Andy2483



規則是一樣的,不過第一範例可能看到效果沒有那麽清楚,所以上載第二範例,請以這個回復的圖片爲例

TOP

回復 10# Andy2483


xA.Offset(1, 12).ClearContents:  Brr = xA
'↑令xA儲存格偏移下1列右12欄的區域儲存格內容清除,令Brr變數是以xA儲存格值帶入的二維陣列

這句清除内容,它是從第13欄(欄M) 到 第19欄 (欄S) 的内容清除,我需要的只是 第13欄欄M - 第15欄欄O, 我需要怎樣修正,才能讓他不把欄P - 欄S的資料清除?

TOP

回復 12# Andy2483


    可以了,謝謝!

Set xA = Range([1!G1], [1!A65536].End(3))
Intersect([1!M:O], xA.Offset(1, 12)).ClearContents: Brr = xA
Arr = [1!M1].Resize(UBound(Brr), 3)
[1!M1].Resize(UBound(Brr), 3) = Arr
另外如果我執行的工作表不固定名稱,怎樣修改為用activesheet?

TOP

回復 15# Andy2483


    明白,謝謝

TOP

回復 17# Andy2483

剛剛我測試了幾次,不知道是怎麽回事,有的數據讀不出來。可否幫我看看附件,是否格式跟VBA 有衝突?

對比.rar (12.43 KB)

TOP

回復 19# Andy2483


    不好意思,我上載錯了文件,這個才對。
部分地方無法讀取資料。

對比.rar (29.54 KB)

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題