2013-01-09 55 views
0

我使用的是Excel 2010,並且我想知道爲什麼下面的代碼不適合我?我有compile error: syntax errorVBA 7.0中的鋸齒陣列 - 語法錯誤

Sub test() 
Dim myStudents(,) As String = _  
    {{"Dick", "Jane", "Tom", "Sam"}, _ 
    {"Sue", "Bill", "Mary", ""}}  
End Sub 

Example link和代碼:

Sub xyz() 
    Dim xyz()()() As Byte 
End Sub 

跑時,這也產生compile error: syntax error

+1

定義「不起作用」。你有錯誤嗎? – LittleBobbyTables

+0

由於'myStydents(,)'結構,我得到'編譯錯誤:語法錯誤' – Qbik

+2

我不認爲在VBA(VBA <> VB)中有鋸齒狀數組可用。您將需要使用一組數組。 – assylias

回答

2

這是VB.net語法。 VB.net是不一樣的VBA,這是在Excel中使用,等等。要做到這一點,你VBA可以這樣做:

Public Sub test() 
    Dim myStudents() As Variant 

    myStudents = Array(_ 
       Array("Dick", "Jane", "Tom", "Sam"), _ 
       Array("Sue", "Bill", "Mary") _ 
       ) 

    Debug.Print myStudents(0)(1) ' Jane 
    Debug.Print myStudents(1)(2) ' Mary 
End Sub 

即,我們創建一個數組的數組。