工作表“A" 這個是固定的工作表名稱
其他工作表的名稱不固定,而且不固定工作表數量,但是會排在工作表“A"之後
想要的功能是
根據工作表 "A" �堛瘧� C - H,尋找其他所有工作表的欄 B - G 是否有完全一致的數據,按照下面的對比尋找資料。如果找到全部一致的,在欄 I 注明 "Y", 如果沒有相同資料的,在欄 I 注明 "N"
工作表"A" 欄 C 對比 其他工作表 欄B
工作表"A" 欄 D 對比 其他工作表 欄C
工作表"A" 欄 E 對比 其他工作表 欄D
工作表"A" 欄 F 對比 其他工作表 欄E
工作表"A" 欄 G 對比 其他工作表 欄F
工作表"A" 欄 H 對比 其他工作表 欄G作者: 198188 時間: 2024-2-26 08:38
Option Explicit
Sub TEST()
Dim Arr, Brr, Crr, Z, i&, j%, R&, s%, T$, T2$, T3$
Set Z = CreateObject("Scripting.Dictionary")
Brr = Range(Sheets(1).[H12], Sheets(1).[A65536].End(3))
ReDim Crr(1 To UBound(Brr), 1 To 2)
For i = 1 To UBound(Brr)
T3 = Trim(Brr(i, 3))
If T3 = "" Then GoTo i01
For j = 4 To 8
T = T & "/" & Val(Brr(i, j))
Next
Z(T3 & T) = i
T = ""
Crr(i, 1) = "N"
i01: Next
For s = 2 To Sheets.Count
Arr = Range(Sheets(s).[G13], Sheets(s).[A65536].End(3))
For i = 1 To UBound(Arr)
T2 = Trim(Arr(i, 2))
If T2 = "" Then GoTo i02
For j = 3 To 7
T = T & "/" & Val(Arr(i, j))
Next
R = Z(T2 & T)
If R <> 0 Then Crr(R, 1) = "Y": Crr(R, 2) = Sheets(s).Name & "/ " & i + 12 & "列"
T = ""
i02: Next
Next
Sheets(1).[I12].Resize(UBound(Crr), 2) = Crr
End Sub作者: 198188 時間: 2024-2-26 13:01
Option Explicit
Sub 儲存格與陣列() '注意! 先開一個新工作表再執行,以免誤刪重要資料
Dim Arr(1 To 3, 1 To 5), Brr, Crr, Drr, i%, j%, A, N%
ActiveSheet.UsedRange.ClearContents
For i = 1 To UBound(Arr)
For j = 1 To UBound(Arr, 2)
N = N + 1
Arr(i, j) = N
Next
Next
[A1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
[A1].Resize(UBound(Arr), UBound(Arr, 2)).Select
MsgBox "全部Arr陣列值從儲存格[A1]開始貼入值"
Option Explicit
Sub 儲存格與陣列_1() '注意! 先開一個新工作表再執行,以免誤刪重要資料
Dim Arr(1 To 3, 1 To 5), Brr, Crr, Drr, i%, j%, A, N%
ActiveSheet.UsedRange.ClearContents
For i = 1 To UBound(Arr)
For j = 1 To UBound(Arr, 2)
N = N + 1
Arr(i, j) = N
Next
Next
[A1].Resize(UBound(Arr), UBound(Arr, 2)) = Arr
[A1].Resize(UBound(Arr), UBound(Arr, 2)).Select
MsgBox "全部Arr陣列值從儲存格[A1]開始貼入值"
Brr = Range([F1], [A65536].End(xlUp))
For i = 1 To UBound(Brr)
For j = 2 To UBound(Brr, 2)
Brr(i, 1) = Brr(i, 1) + Brr(i, j)
Next
Next
[A6].Resize(UBound(Brr)) = Brr
[A6].Resize(UBound(Brr)).Select
MsgBox "在Brr陣列第1欄裡加總當列值後,從儲存格[A6]開始貼入Brr部分陣列值" & vbLf & _
"1+2+3+4+5=15" & vbLf & "6+7+8+9+10=40" & vbLf & "11+12+13+14+15=65"
End Sub作者: mdr0465 時間: 2024-3-6 12:50