2016-05-13 2 views
0

Я пишу код, который использует массивы, размер которых зависит от значений, которые дает пользователь. Это значение зависит от количества используемых им ячеек, и я использую это число для создания структуры for-loop. Вот подмигнул пример:Можно ли определить массив с переменной?

Sub Test() 
    Dim Row As Integer 
    Dim Myarray(1 To Row) As String 

    For 1 To Row 
     'Do whatever I need 
    Next linha 
End Sub 

Когда я попробовал это, появляется сообщение об ошибке. Есть ли способ использовать это? Я искал любые подсказки в google, и я нашел динамический массив. Но, похоже, он не подходит мне.

Спасибо!

ответ

1

Измените синтаксис (очевидно `LengthOfArray» должен провести ряд с размером массива):

Sub Test() 
    Dim Row As Integer 
    Dim Myarray() As String 

    n = LengthOfArray 

    Redim MyArray(1 to LengthOfArray) 

    For linha = 1 To n 
     'Do whatever I need 
    Next linha 
End Sub 
0

Я хотел бы использовать коллекцию вместо массива, и вы можете захотеть взглянуть на делать ReDim сохранить. (https://msdn.microsoft.com/en-us/library/w8k3cys2.aspx)

sub Test(row as range) 
Dim my myCollection as new collection 


myCollection.add row 
For each Item in myCollection 
    'Do some stuff here... 
Next 'Item 
end Sub 
Смежные вопросы