2015-05-22 2 views
1

У меня есть 2D-массив - aArray (1, переменная) и хочу знать, как я могу Для каждого через первый ранг массива, то есть только чтение aArray (0, variable)Для каждого через один ранг многомерного массива

Это больше для самообразования, поскольку, если это возможно, это можно сделать. Я могу сделать это с помощью петли для петли:

Dim a As Integer: For a = 0 to ? 
    Range("A1").Value = aArray(0,a) 
Next a 

Но интересовался использованием цикла For Each. До сих пор я получил

Dim a As Variant: For Each S In aArray 
    Range("A1").Value = S 
Next a 

Но перебирает весь массив (0,0) (1,0) (0,1) (1,1) Etc ...

+0

Вы не можете. Вам нужно будет вывести первый ранг в новый массив. Почему вы все равно хотите использовать «Для каждого»? – Rory

+0

Нет реальной причины, кроме изучения того, возможно ли ее отсутствие. Получились использовать для использования для каждого, а не для циклов при использовании больших диапазонов в excel, потому что они быстрее. Приветствия за ответ. – Ben

+0

'Для каждого' быстрее с коллекциями, но не с массивами. – Rory

ответ

1

Вы можете Не делай этого. Вам нужно будет вывести первый ранг в новый массив, а затем повторить его.

Там нет никаких оснований использовать For Each в любом случае, так как это медленнее - см: https://support.microsoft.com/en-us/kb/129931

Смежные вопросы