- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
3#
發表於 2012-3-26 13:57
| 只看該作者
回復 2# Hsieh
Hsieh 大大~ 很感謝你的回覆~
這就是我想要了解及想要更深入學習來應用的語法~
可以猜得出整個撰寫的邏輯,但不清楚一些語法的使用方式~
請大大能解釋一下~ 幫小弟解惑一下- Sub Ex()
- Set d = CreateObject("Scripting.Dictionary")
- '問題CreateObject:建立並傳回對於 ActiveX 物件的引用。
- '["Scripting.Dictionary"]<==這是什麼意思呢??
- '因為大大有些時候用的方式,按F1是查不到的
- ar = Range("A1").CurrentRegion.Value
- 'CurrentRegion:傳回 Range 物件,該物件代表目前的區域。目前區域是指以任意空白列及空白欄的組合為邊界的範圍。
- '小弟猜ar是否為由A1開始到空白邊界的儲存格範圍
- For i = 1 To UBound(ar, 1)
- 'UBound:表示指定陣列某維最大可使用的陣列索引。
- '用UBound來抓取ar範圍一維的最大陣列索引。
- If d(ar(i, 1)) = "" Then
- 'd 是第一句Set d = CreateObject("Scripting.Dictionary")中的d,但不了解怎麼解讀。
- d(ar(i, 1)) = ar(i, 2)
- ElseIf InStr(d(ar(i, 1)), ar(i, 2)) = 0 Then
- 'InStr是用來比對d(ar(i, 1)), ar(i, 2)是否有一樣的資料,若沒有一樣則show0,0=0就是表示ar(i, 2)是要新增的
- d(ar(i, 1)) = d(ar(i, 1)) & "/" & ar(i, 2)
- End If
- Next
- [J:K] = ""
- [J1].Resize(d.Count, 1) = Application.Transpose(d.keys)
- [K1].Resize(d.Count, 1) = Application.Transpose(d.items)
- 'Application.Transpose(d.keys)與Application.Transpose(d.items) 就一點頭緒也沒有,不知道怎麼使用??
- End Sub
複製代碼 |
|