|
|
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Субж. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:07 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
А что подразумевается под обработкой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:18 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, хотя бы считать данные в массив что-то сделать с массивом и обрано вывести данные из массива в ячейки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:26 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, Например, диапазон Range("A1:A500000") забит разными цифрами - как отрицательными, так и положительными. Надо выбрать из них все отрицательные числа и показать их в столбце B. Предположим, 139567 ячеек из них - отрицательные числа. Следовательно, они должны находиться в Range("B1:B139567"). Вот такая простенькая задача. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:32 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Thermik, А конкретно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:32 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Yudzhin, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:39 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, Ошибка, однако! Application-defined or object-defined error. VBE подсветил строку: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:50 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
А отрицательные числа есть на листе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:57 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Можно сделать проверку перед выгрузкой: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 17:58 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Код писал на коленке, там объявления надо проставить нормально: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2011, 18:07 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_PristА отрицательные числа есть на листе? Сработало! Просто я пробовал на пустом диапазоне. После добавления Код: plaintext А если задачу усложнить: в столбце B , напротив отрицательного числа, стоит какое-либо описание данного отрицательного числа, и нужно вместе с отрицательным числым "подхватить" это описание? Другими словами: 1. Исходный диапазон - Range("A1:B500000") . 2. Целевой диапазон - столбцы C (содержит отрицательнок число) и D (содержит описание). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 08:03 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 09:46 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, Не успел и глазом моргнуть! Благодарю! :) Но не пойму, зачем ненужная проверка Len? Код: plaintext 1. 2. 3. 4. Я забил все 500 тысяч ячеек отрицательными числами. И вот результат: 1. C Len время выполнения - 3,23. 2. Без Len время выполнения - 2,23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 10:08 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Yudzhin, А теперь забейте вразнобой - пустые в перемешку с заполненными :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 10:36 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Хотя...наверное, можно и без Len обойтись. С числами не нужно. С текстом доп.сравнение будет тормозить. В данном случае действительно эта проверка лишняя. Но если внутри цикла будут производится доп.действия с массивами, то такая проверка может сэкономить значительное время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 10:40 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, Забил числа по шаблону "1 отрицательное - 2 положительных": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Результат: 1. C Len время выполнения - 2,05. 2. Без Len время выполнения - 1,05. Разница в секунду так и остаётся. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:04 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Yudzhin, Я вообще-то написал забить вперемешку с ПУСТЫМИ ячейками :-) Т.к. Len проверяет наличие данных в ячейке. А чуть позже написал, что в данном случае действительно такая проверка лишняя, т.к. никаких особо долгих действий внутри цикла мы не проводим. Если бы в цикле мы еще вдобавок вызывали какие-либо функции и разные действия производили с данными - то Len помогла бы ускорить. Но повторюсь - это применимо, если пусте ячейки имеют место быть. Например, Вы применяете назначение массиву значения дипазона не вычисляя последнюю ячейку: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 11:27 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
The_Prist, В этом случае, действительно, нет никакой разницы. Я убрал проверку Len - никакой разницы. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 12:14 |
|
||
|
Какой самый быстрый способ обработки большого диапазона ячеек?
|
|||
|---|---|---|---|
|
#18+
Yudzhin, А вот у меня есть разница во времени(если брать приведенную выше процедуру), если забирать в массив фиксированный диапазон, а заполнить значениями лишь его часть. В данном случае проверка на заполненность ячейки экономит время, а не наоброт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2011, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=37203045&tid=2177001]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 431ms |

| 0 / 0 |
