返回列表 上一主題 發帖

[發問] 陣列操作請益

[發問] 陣列操作請益

請問各位大大

最近小弟進行陣列及下拉式選單的運用

上網爬文找方法

雖然可以正常運行

但是不懂部分程式的操作方式

簡要程式碼如下
  1. Sub test()

  2.     '設定陣列範圍內容
  3.     Arr = Range("A1:A10")

  4.     Set D = CreateObject("Scripting.Dictionary")

  5.     Dim aList$

  6.     For i = 1 To UBound(Arr)
  7.         D(Arr(i, 1)) = ""
  8.     Next

  9.     k = D.keys
  10.    
  11.     aList = Join(k, ",")

  12.     '建立下拉選單
  13.     With Target.Validation
  14.         .Delete
  15.         .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
  16.         Operator:=xlBetween, Formula1:=aList

  17.     End With

  18. End Sub
複製代碼
請問其中的

D(Arr(i, 1)) = ""

k = D.keys

我不懂這兩部分的運作方式

煩請解惑

謝謝!
用功到世界末日那一天∼∼∼

回復 2# no3-taco

感謝no3-taco

請問關於第一點有些疑惑

1. D(Arr(i, 1)) = ""
語法 object.Item(key) [= newitem]   '可 讀取/寫入 屬性。
依您的意思是在跑迴圈時如果碰到相同的值會自動覆蓋吧???

但請問後面的 =newitem
為什麼是 =空值 ???
不太懂這方式

請no3-taco大協助

謝謝!
用功到世界末日那一天∼∼∼

TOP

回復 4# no3-taco

感謝no3-taco的精闢解析

因為是網路上抓取來修正拼湊出來的

所以自己不甚了解,因此來這邊尋求解析

您用這個範例,整個運作流程清楚許多

感謝協助!
用功到世界末日那一天∼∼∼

TOP

回復 5# c_c_lai

感謝c_c_lai解釋

就我理解上

它主要說明適用地方外

另外就是說明如上述no3-taco解釋的運作模式吧?
用功到世界末日那一天∼∼∼

TOP

        靜思自在 : 心中常存善解、包容、感思、知足、惜福。
返回列表 上一主題