[字典物件]單一欄位的值與多個陣列比對後並分類至不同欄位
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 3# greetingsfromtw
不用字典物件也可以試試看- Option Explicit
- Sub Ex()
- Dim Rng As Range, R As Range, E As Range, i(1 To 2) As Integer
- With Range("J1").CurrentRegion
- i(1) = .Columns.Count + 1
- Set Rng = .Rows("2:" & .Rows.Count).SpecialCells(xlCellTypeConstants) '比對字串
- End With
- Range([A2], [A2].End(xlDown)).Offset(, 1).Resize(, i(1)) = ""
- For Each R In Range([A2], [A2].End(xlDown)) '原始資料迴圈
- i(2) = i(1)
- For Each E In Rng
- If InStr(UCase(R), UCase(E)) Then
- i(2) = E.Column - Range("J1").Column + 1
- Exit For
- End If
- Next
- With Cells(65536, 1 + i(2))
- If .EntireColumn.Find(R, Lookat:=xlPart) Is Nothing Then .End(xlUp).Offset(1) = R
- '資料不重複
- End With
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
|