|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
Создал функцию. Она: считывает из указанного диапазона все записи (около 2000) что-то в них ищет, что-то с ними делает выдаёт результат. Я хочу воспользоваться этой функцией около 4500 раз. Т.е. во всех 4500 ячейках будет производиться считывание из одного и того же диапазона. Операция доступа к листу excel - самая нереально медлительная, потому приходится ждать минут 15. Возможно ли сделать так, чтобы первая выполняющаяся при пересчёте листа функция считывала данные и работала с ними, а остальные брали уже считанные данные и работали с ними? Или как это можно немного оптимизировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 10:29 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
Запросто. Определи для этих данных Static-массив в теле функции или глобальый массив. Только не забудь решить проблему определения того, заполнен массив первым вызовом теукущего цикла пересчёта, или он остался от предыдущего пересчёта... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 11:20 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
Charles Weyland, Какой Excel ? 2003 или 2007 ? Если > 2003, то попробуй через OpenXML читать данные с листа. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 18:19 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
big-dukeCharles Weyland, Какой Excel ? 2003 или 2007 ? Если > 2003, то попробуй через OpenXML читать данные с листа. Не, 2007-2010 через OpenXML? как это? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 20:04 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
Зачем OpenXML?! Значения диапазона можно считать в массив одним действием и получить ЧИСЛА. А XML надо парсить и переводить в числа. Операция доступа к листу excel - самая нереально медлительная - если по одной ячейке считывать, то да. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 20:17 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
КазанскийЗачем OpenXML?! Значения диапазона можно считать в массив одним действием и получить ЧИСЛА. А XML надо парсить и переводить в числа. Операция доступа к листу excel - самая нереально медлительная - если по одной ячейке считывать, то да. а.. как считать всю группу сразу? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 22:45 |
|
Можно ли таким образом оптимизировать макрос?
|
|||
---|---|---|---|
#18+
Charles Weylandкак считать всю группу сразу? o_O Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2013, 23:11 |
|
|
start [/forum/topic.php?fid=61&msg=38208446&tid=2174900]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 337ms |
total: | 455ms |
0 / 0 |