返回列表 上一主題 發帖

[發問] 字典不重覆請益?

[發問] 字典不重覆請益?

本帖最後由 joey0415 於 2014-9-19 13:25 編輯

圖上兩種寫法都可以不重覆
這一段看得懂

       If Not d.Exists(Cells(i, 1).Value) Then
        d.Add Cells(i, 1).Value, Range(Cells(i, 1), Cells(i, 4))
        End If

而這一段為什麼也可以呢?知道的請幫忙解釋一下!謝謝
Set d(Cells(i, 1).Value) = Range(Cells(i, 1), Cells(i, 4))






ex.zip (7.6 KB)

回復 2# Hsieh

感謝版主,會再研究,如果不懂再請教版主

感謝回答

TOP

回復 1# joey0415

DICTIONARY物件的ADD方法,若出現關鍵字重複時,則會發生add方法錯誤,所以必須使用Exists方法先測試關鍵字是否已經存在
以你的語法是要做A欄的不重覆來抓取內容
兩段方法皆可做到,但是結果卻不一樣
使用Exists方法,則該關鍵字第一次出現位置就被存入該關鍵字內容
而第二種方式用關鍵字對應寫入內容
則最後結果,會以關鍵字最後出現位置為對應內容

以上圖為例第一種使用Exists方法的語法
A欄不重複有2、3、4、5
分別對應2→A、3→E、4→B、5→F
用第二種直接給值的方式對應結果為
2→J、3→E、4→I、5→G
學海無涯_不恥下問

TOP

        靜思自在 : 人的眼睛長在前面,只看到別人的缺點,絲毫看不到自己的缺點。
返回列表 上一主題