请问 If Not d.exists(arr(i, 1)) Then Set d(arr(i, 1)) = CreateObject("Scripting.dictionary") 这一段是什么意思??
是d.(arr(i, 1)) 不存在时,把 d(arr(i, 1))设定成d(arr(i, 1)) = CreateObject("Scripting.dictionary") 的意思吗??
有懂Objective dictionary的大大能解释一下吗??excel VBA的小白,请多见谅!!!

Sub test()
Dim arr, i&, d As Object, key, x, temp&, str$, res, m&
Set d = CreateObject("scripting.dictionary")
arr = Range("A1").CurrentRegion 'CurrentRegion是arr = Range("A1:C3320")

For i = 2 To UBound(arr)
If Not d.exists(arr(i, 1)) Then Set d(arr(i, 1)) = CreateObject("Scripting.dictionary")
If arr(i, 3) <> "" Then d(arr(i, 1))(arr(i, 3)) = d(arr(i, 1))(arr(i, 3)) + 1
Next
Set d = CreateObject("Scripting.dictionary") ==> 將 d 設為一個「字典物件」

Set d(arr(i, 1)) = CreateObject("Scripting.dictionary") ===> 這個比較複雜,我也沒用過,但蠻好查的,您可以參考下面網址:
https://blog.csdn.net/ielqve/article/details/128061597

字典物件在VBA裡面算是超好用的東西,用來作資料比對非常方便及快速,建議您可以好好了解一下。
Dim arr, i&, d As Object, key, x, temp&, str$, res, m&

有人知道 key, x, temp&, str$, res, m& 是什么意思吗????
snare
google vba dim 變數 簡寫
jerryapo
THANKS
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!