- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# GGGYYY
試試看- Option Explicit
- Sub Ex_Match() '大小寫沒有分別
- Dim M As Variant, Rng As Range, E As Range
- Set Rng = Sheets("對照").Range("A:A")
- For Each E In Sheets("數值").UsedRange.Columns(1).Offset(1).Cells
- M = Application.Match(E, Rng, 0) '沒找到傳回錯誤值
- If IsNumeric(M) Then '找到傳回數字
- Rng.Cells(M, 2).Resize(, 2).Copy E.Offset(, 1)
- Else
- With E.Cells(1, 2).Resize(, 2)
- .Value = ""
- .Interior.ColorIndex = xlNo
- End With
- End If
- Next
- End Sub
- Sub Ex_字典物件() '大小寫有分別
- Dim E As Range, d As Object, i As Integer
- Set d = CreateObject("scripting.dictionary") '字典物件
- i = 1
- With Sheets("對照")
- Do While .Cells(i, "a") <> ""
- Set d(.Cells(i, "a").Value) = .Cells(i, "a").Offset(, 1).Resize(, 2)
- i = i + 1
- Loop
- End With
- For Each E In Sheets("數值").UsedRange.Columns(1).Offset(1).Cells
- If d.EXISTS(E.Value) Then 'Dictionary 物件中指定的關鍵字存在,傳回 True,若不存在,傳回 False。
- d(E.Value).Copy E.Offset(, 1)
- Else
- With E.Cells(1, 2).Resize(, 2)
- .Value = ""
- .Interior.ColorIndex = xlNo
- End With
- End If
- Next
- End Sub
複製代碼 |
|