返回列表 上一主題 發帖

[發問] 找出不同值的各項

回復 1# yangjie

Set d = CreateObject("Scripting.Dictionary")
Set Rng = Range("A1:A20")
For Each a In Rng
d(a.Value) = ""
Next
MsgBox d.Count  '項目數量
ComboBox1.List = d.keys    '寫入清單
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2012-9-12 18:27 編輯

回復 3# yangjie


    Dictionary物件的兩個重要元素key與item
key是不能重複的索引值,正規一點的添加key應該使用add方法
如果使用add方法加入索引,必須先判斷是否該索引值已經存在,若重複add時將會產生錯誤
在這邊使用d(key)=item這樣的方式加入索引,只是會改變相對於key的item
此例中d(A & "")這是將key值,使用A變數轉成字串資料型態的方式作為索引
d(A.Value)=""
這是將儲存格變數A取出值作為索引值,而相對應的item都是以空字串為內容(可節省記憶空間)
此兩種寫法key都會得到一個不重複值的陣列

要加入條件判斷,則可再添加Key時做判斷
此例判斷Columns(cn1)有"string"字串才加入索引
If InStr(Cells(A.row,cn1),"string")>0 Then d(A &"")=A
學海無涯_不恥下問

TOP

        靜思自在 : 道德是提昇自我的明燈,不該是呵斥別人的鞭子。
返回列表 上一主題