- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
本帖最後由 准提部林 於 2020-10-11 09:50 編輯
Sub TEST_A1()
Dim Arr, xD, i&, T1$, T2$, T3$
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([位置!A1], [位置!D65536].End(xlUp))
For i = 2 To UBound(Arr)
T1 = Arr(i, 1): T2 = Arr(i, 4)
If T1 = "" Or T2 = "" Then GoTo 101
T3 = T1 & "|" & T2: xD(T3) = xD(T3) + 1 '用兩個關鍵字組合, 排除重覆
If xD(T3) = 1 Then xD(T1) = xD(T1) & "," & T2 'xD(T3) = 1 為首次出現的, 加入字串中, 超過1, 略過
101: Next i
Arr = Range([料件!A1], [料件!A65536].End(xlUp))
For i = 2 To UBound(Arr)
Arr(i - 1, 1) = Mid(xD(Arr(i, 1) & ""), 2) '字串首字符為"逗號", 須用mid取第2個字以後的字元
Next i
[料件!C2].Resize(UBound(Arr) - 1) = Arr
End Sub |
|