Board logo

標題: 請問二維常數陣列用vba該如何寫? [打印本頁]

作者: sptakung1    時間: 2012-10-9 07:51     標題: 請問二維常數陣列用vba該如何寫?

各位前輩大家好:向各位請教二維常數陣列的寫法。
[Range].FormulaArray = "={1,2,3;4,5,6}",這種寫法不是我要的,我要的是例如:
一維陣列的寫法:array (1,2,3)
二維陣列該如何寫?:array((1,2,3);(4,5,6))這寫法似乎行不通,請各位大大賜教,謝謝!!
作者: Hsieh    時間: 2012-10-9 10:17

回復 1# sptakung1

要看你陣列的用途可能有不同做法
用個簡單例子你參考看看
  1. Sub nn()
  2. ar1 = Array(1, 2, 3, 4, 5)
  3. ar2 = Array(6, 7, 8, 9, 10)
  4. ar = Array(ar1, ar2)
  5. MsgBox Application.HLookup(3, ar, 2, 0)
  6. End Sub
複製代碼

作者: cslinmiso    時間: 2012-10-9 10:50

是否類似這樣?
  1.     Dim m(2, 2)
  2.     m(1, 1) = 1 :     m(2, 1) = 3
  3.     m(1, 2) = 2:      m(2, 2) = 4
複製代碼

作者: c_c_lai    時間: 2012-10-9 11:00

本帖最後由 c_c_lai 於 2012-10-9 11:02 編輯

回復 1# sptakung1
引用 Hsieh 版大的範例,也可以直接取值。
  1. Sub nn2()
  2.       ar = Array(Array(1, 2, 3, 4, 5), Array(6, 7, 8, 9, 10))
  3.       MsgBox "Application.HLookup(3, ar, 2, 0) 其傳回值 " & _
  4.                     Application.HLookup(3, ar, 2, 0) & Chr(10)  & _
  5.                            " 等於 ar(1)(2) 的二維陣列值 " & ar(1)(2) & ""
  6. End Sub
複製代碼

作者: sptakung1    時間: 2012-10-9 12:13

回復 2# Hsieh
Hsieh超版謝謝您好:
代碼ar = Array(ar1, ar2)就是我要的,非常感激您的熱誠答覆。謝謝。
#3、#4樓的樓主,也非常感謝你們的熱情回應。
在此向各位道謝。




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