Друзья, доброго времени суток!
Хочу создать функцию, получения плательщика по номеру договора из закрытого файла, которая будет вызываться с листа (аналог ВПР, получить необходимо только первое значение, даже если оно не одно, сейчас в функции, если значение не одно оно просто красится желтым).
Сделал свой вариант через ADO (во вложении, положить оба файла в одну папку, в книге MAIN функция GetPayer). Работает очень долго, в рабочем файле source порядка 100к строк. При каждом вызове функции формируется recordset.
Также при каком-либо изменении на листе, связи, я так понимаю, пересчитываются...вообщем пользоваться невозможно.
Прошу указать, что мне изменить, чтобы работало пошустрей (если возможен шустрый вариант через ADO, то прошу подсказать в этом направлении). Если по ADO в любом случае тормознуто будет получаться, то какой вариант будет для меня самым быстрым.
Возможно, есть какие-то функции, работающие с закрытыми книгами, которые функция просто будет прописывать.
Как-то делал нечто похожее, но не из закрытой книги и книга была одна. Здесь мне подсказали сделать Static Dictionary, для первой ячейки словарь формируется какое-то время, зато при протягивании формулы, остальные позиции подтягиваются быстро. Но в данном случае у меня, в рабочей ситуации, файл source не один, их много, файл будет определяться по условию в макросе, не делать же для каждого файла свой словарь.
Подскажите, как бы Вы реализовали эту задачу. Благодарен любым советам.
Спасибо.
Хочу создать функцию, получения плательщика по номеру договора из закрытого файла, которая будет вызываться с листа (аналог ВПР, получить необходимо только первое значение, даже если оно не одно, сейчас в функции, если значение не одно оно просто красится желтым).
Сделал свой вариант через ADO (во вложении, положить оба файла в одну папку, в книге MAIN функция GetPayer). Работает очень долго, в рабочем файле source порядка 100к строк. При каждом вызове функции формируется recordset.
Также при каком-либо изменении на листе, связи, я так понимаю, пересчитываются...вообщем пользоваться невозможно.
Прошу указать, что мне изменить, чтобы работало пошустрей (если возможен шустрый вариант через ADO, то прошу подсказать в этом направлении). Если по ADO в любом случае тормознуто будет получаться, то какой вариант будет для меня самым быстрым.
Возможно, есть какие-то функции, работающие с закрытыми книгами, которые функция просто будет прописывать.
Как-то делал нечто похожее, но не из закрытой книги и книга была одна. Здесь мне подсказали сделать Static Dictionary, для первой ячейки словарь формируется какое-то время, зато при протягивании формулы, остальные позиции подтягиваются быстро. Но в данном случае у меня, в рабочей ситуации, файл source не один, их много, файл будет определяться по условию в макросе, не делать же для каждого файла свой словарь.
Подскажите, как бы Вы реализовали эту задачу. Благодарен любым советам.
Спасибо.