Board logo

標題: 字典擴充用法(字典+自訂物件類別) [打印本頁]

作者: n7822123    時間: 2020-5-18 16:20     標題: 字典擴充用法(字典+自訂物件類別)

本帖最後由 n7822123 於 2020-5-18 16:23 編輯

對於資料處理來說 "字典" 是一個非常好用的物件,

可以快速查找需要的資料,VBA老手肯定不陌生

但是 字典的格式 1個 Key 只對應1個 Item,沒有 Item2,Item3,Item4........

對於VBA老手來說,這不是問題,可用的方法太多了

EX1:可以用Item 紀錄編號 ,先用字典查編號(第1步),再利用編號去查想要資料(第2步)

EX2:或者把"分隔符號"也塞入 Item,撈出資料後(第1步),再做解字串(第2步),解出想要的資料


但是這些方法都需要2步來撈出需要的資料,對於VBA新手來說,可能就比較沒那麼"直覺",看程式不易懂

所以我"提供字典+自訂物件類別"的方式,來擴充字典的 Item

請詳附件 (字典+陣列的用法只是順帶提供,VBA新手可能比較不易懂)


[attach]32045[/attach]
作者: Andy2483    時間: 2022-10-17 13:32

回復 1# n7822123

謝謝前輩分享將一維陣列放入字典item中
Sub 輸入資料到字典2()
Dim Arr As Range, Brr
Set D = CreateObject("Scripting.Dictionary")
Set Arr = Range([員工資料!F1], [員工資料!A1].End(xlDown))
For R = 2 To Arr.Rows.Count
  Key$ = Arr(R, 1)
  Brr = Arr(R, 2).Resize(, 5) 'Brr會是個2維資料陣列
  '小技巧-Brr陣列降維度  2維陣列=>1維陣列
  Brr = Application.Transpose(Application.Transpose(Brr))
  D(Key) = Brr   '把陣列裝到字典的 "Item"
Next R
End Sub




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)