- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
回復 1# f00l01
比對後結果顯示在同一格儲存格,請測試看看,謝謝。
Sub 結果顯示同一格()
Dim Arr, Ar(), xD, xD2, T, i&, C%
Set xD = CreateObject("Scripting.Dictionary")
Set xD2 = CreateObject("Scripting.Dictionary")
Arr = Range("a1").CurrentRegion
ReDim Ar(1 To UBound(Arr), 0)
For i = 1 To UBound(Arr)
For j = 1 To UBound(Arr, 2)
T = Arr(i, j)
If i = 1 Then xD(T & "") = T: GoTo 99
If C = 0 Then
M = xD(T & ""): xD2(T & "") = T
If M > 0 Then Ar(i, 0) = Ar(i, 0) & "," & xD(T & "")
Else
M = xD2(T & ""): xD(T & "") = T
If M > 0 Then Ar(i, 0) = Ar(i, 0) & "," & xD2(T & "")
End If
99: Next
If i > 1 Then
If C = 0 Then
Ar(i, 0) = Mid(Ar(i, 0), 2): C = 1: Set xD = Nothing
Set xD = CreateObject("Scripting.Dictionary")
Else
Ar(i, 0) = Mid(Ar(i, 0), 2): C = 0: Set xD2 = Nothing
Set xD2 = CreateObject("Scripting.Dictionary")
End If
End If
Next
Range("N1").Resize(UBound(Arr)) = Ar
End Sub |
-
-
擷取1.PNG
(15.12 KB)
|