Я хочу иметь возможность заполнять массив строками данных за раз, а не элемент за элементом. Например, я хотел бы получить конечный продукт, как массив 3х3:
Заполнение массива VBA, по одной строке за один раз
путем заполнения его со строкой 1 2 3, то с 4 5 6, затем с 7 8 9.
В Excel у меня есть формулы, настроенные в ячейках F1: Z1, которые меняются на основе входов в ячейках A1: D1. Макрос загружает случай в A1: D1, а затем я хочу иметь возможность выбирать ячейки F1: Z1 и вставлять их в массив сразу, вместо того, чтобы перебирать отдельные элементы в F1, G1, H1, ..., Z1 , (У меня 10 000 случаев, поэтому я знаю, что в массиве будет 10 000 строк и 21 столбец.)
Есть ли способ сделать это, или мне нужно будет прокручивать каждый элемент отдельно?
+ 1. При использовании массивов используется 'Value2', а не' Value', т.е. 'v = ThisWorkbook.Worksheets (« Лист1 »). Диапазон (« A1: C200 »). Value2'. См. Это [сообщение] (https://fastexcel.wordpress.com/2011/11/30/text-vs-value-vs-value2-slow-text-and-how-to-avoid-it/) Чарльза Уильямса , – brettdj
Я знаю, что могу заполнить его одним выстрелом, но на самом деле это не то, что я ищу здесь. У меня есть одна строка формул, которая изменяется на основе некоторых входов. Мой макрос циклически проходит через каждую комбинацию входов, и я хочу уметь извлекать результаты из формул и помещать их в массив. – WJol
Насколько я знаю, вы не можете заполнить строку сразу, вам нужно будет использовать цикл – Jeanno