2016-03-29 6 views
0

В Excel VBA Я использую некоторый код для обновления ячеек. Например:Напишите несколько ячеек сразу в Excel VBA

for i = 1 to 1000 
    for j = 1 to 1000 
     cells(j,i)=<whatever_different_in_each_cell> 
    next 
next 

Есть ли способ обновить все ячейки сразу, а не обновлять каждую ячейку отдельно? Причина в том, что обновление одной ячейки в Excel требует много времени, и когда их много, тогда она быстро становится бесконечной.

+2

Отъезд [эта ссылка] (http://www.cpearson.com/excel/ArraysAndRanges.aspx) – Comintern

+0

Поскольку у вас есть ячейки, смежные друг с другом, метод массива, как указано Comintem, - отличный способ продолжения. Если вы завершаете прыгать по всему листу карты или нескольких листов, вы можете захотеть сделать что-то вроде обновления экрана поворота, пока ваш код не сделает то, что ему нужно сделать. Затем верните его в конце. –

+0

Решение Comintern работает как шарм, спасибо! Вы можете опубликовать его как реальное решение? –

ответ

0

диапазон (клетки (1,1), клетки (1000,1000)) = "все"

+0

Спасибо, но все, что было между скобками, указывает, что ячейки могут быть разными. –

0
Range(<...>).Value = Array (value1, value2, <...>, valueN) 

Количество значений должно быть точно таким же, как число клеток в Range, в противном случае , диапазон будет заполнен #VALUE! с.

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