[算表] 二維陣列初始值的設定

看板Office作者 (萬物靜觀皆自得)時間10年前 (2015/12/06 00:30), 10年前編輯推噓0(0015)
留言15則, 2人參與, 最新討論串1/1
軟體:Excel 2007 我需要一個 2列 3行的二維陣列存放資料,並且要設定初始值如下: Sub Cala() Dim MyArray() ReDim MyArray(2, 3) MyArray = Array(Array("Mary", "Mat", 108), _ Array("John", "Sci", 131)) MsgBox UBound(MyArray, 1) MsgBox UBound(MyArray, 2) End Sub 在MsgBox UBound(MyArray, 2) 會出現陣列索引超出範圍的錯誤, 請問2維陣列初始值設定的程式碼,是哪邊有問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.224.46 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1449333025.A.60A.html ※ 編輯: Fmajor (1.162.224.46), 12/06/2015 00:34:29

12/06 00:52, , 1F
改為 MyArray = [{"Mary","Mat",108;"John","Sci",131}]
12/06 00:52, 1F

12/06 01:05, , 2F
感謝s大,這樣真的就可以了~
12/06 01:05, 2F

12/06 01:06, , 3F
請問我在網路上看的MyArray = Array(Array(),Array())
12/06 01:06, 3F

12/06 01:07, , 4F
是什麼意思呢?不是 2 * 3的矩陣初始值設定嗎??
12/06 01:07, 4F

12/06 01:19, , 5F
測試上會產生外層的array會產生array(0)及array(1)一維
12/06 01:19, 5F

12/06 01:19, , 6F
array(0)內再產生array(0)(0),array(0)(1),array(0)(2)的
12/06 01:19, 6F

12/06 01:19, , 7F
一維
12/06 01:19, 7F

12/06 01:53, , 8F
感謝s大的說明,有點超出理解範圍,我再想看看~謝謝您~
12/06 01:53, 8F
請問如果有10多筆數據的話 MyArray = [{"Mary","Mat",108;"John","Sci",131;......}] 這一串程式碼會很長,請問有辦法拆開讓程式碼比較好閱讀嗎? 大概類似這樣 MyArray = [{"Mary","Mat",108; "John","Sci",131; "Tom",Pas",134; ...... "Sam","Lon",13}] ※ 編輯: Fmajor (1.162.224.46), 12/06/2015 02:00:21

12/06 12:44, , 9F
測試[]改為evaluate(),括號內用字串包起來,含{}也要包
12/06 12:44, 9F

12/06 12:45, , 10F
就可以分行拆開
12/06 12:45, 10F
請問是這個意思嗎? MyArray = Evaluate("{"Mary","Mat",108;"John","Sci",131}") 因為我試好幾個方式都是語法錯誤 ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 18:31:04

12/06 18:44, , 11F
不是,是"{""Mary"",""Mat""...的意思
12/06 18:44, 11F
測試出來了!!!結果正確,感謝s大,請問要怎麼斷句呢? MyArray = Evaluate("{"Mary","Mat",108; _ "John","Sci",131}") 我是用上面這種方式或是 "" & "", 出來都是語法錯誤 再麻煩指點一下,感謝~ ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 19:21:51

12/06 19:29, , 12F
"{""Mary"",""Mat"",108;" & _
12/06 19:29, 12F

12/06 19:30, , 13F
"""John"",""Sci"",131}"
12/06 19:30, 13F
原來是 A " & _ " B 這樣斷句呀@@ 難怪我怎麼斷都錯,請問&前面的雙引號,和_後面的雙引號是一對的嗎? 還是&前面的雙引號,是和Evaluate("{ 這個雙引號一對呢? 感謝s大的指導,又學到一課了 ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 19:40:30 ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 19:43:38

12/06 20:01, , 14F
&前面的雙引號和"{←前的雙引號是一樣的
12/06 20:01, 14F
因為我想如果後面有引號的話,前面也要加引號才對, 原本Evaluate( "{""Mary"",""Mat"",108; 變成Evaluate(""{""Mary"",""Mat"",108;" & _ (前後都要加引號這樣才會一對) 所以語法一直錯誤 ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 20:10:24 ※ 編輯: Fmajor (114.25.108.70), 12/06/2015 20:15:28

12/06 21:05, , 15F
抱歉上面的回文,{←前的雙引號是一"對"的,打錯了
12/06 21:05, 15F
文章代碼(AID): #1MOn4XOA (Office)
文章代碼(AID): #1MOn4XOA (Office)