|
|
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Помогите чайнику: Нужен макрос, который бы заменял функцию СУММЕСЛИ на ВПР (суммесли использовалась только для поиска значений). Пример: функция с СУММЕСЛИ сейчас =СУММЕСЛИ('\\Server\Финплан_2008\[Калькуляция_01.2008.xls]Кальк.'!$D$6:$D$195;D27;'\\Server\Финплан_2008\[Калькуляция_01.2008.xls]Кальк.'!$FS$6:$FS$195) Функция с ВПР, которая нужна =ВПР(D27;'\\Server\Финплан_2008\[Калькуляция_01.2008.xls]Кальк.'!$D$6:$FS$195;172;Ложь) Знаю, что это вполне реально, но в VB я не в зуб ногой. Столкнулся с проблемой СУММЕСЛИ, когда начал переходить с 2000-го на 2003 MS Office. Оказалось, что фин.отдел лет 5-6 в бюджетах и финпланах пользовался функцией СУММЕСЛИ для поиска значений в других книгах. СУММЕСЛИ требует открытия всех связанных фалов. Но раньше финотдел это не напрягало, так как они при открытии файлов никогда не обновляли связи. При переходе на 2003 Еxcel видать решил пересчитать формулы и без открытия связанных файлов не хочет считать. Открыть все файлы не реально. Поменять вручную все СУММЕСЛИ на ВПР тоже... :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.02.2008, 13:11:27 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Возможно лучше вместо ВПР() использовать СУММПРОИЗВ(). Как она работает можно посмотреть здесь: http://www.sql.ru/forum/actualthread.aspx?tid=527003 http://www.sql.ru/forum/actualthread.aspx?tid=515466&hl=%f1%f3%ec%ec%ef%f0%ee%e8%e7%e2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 10:28:51 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Думаю, что можно использовать следующий алгоритм: Поочередно открыть файлы, и вручную (макросом не знаю как, но может люди подскажут) изменить ОДНУ формулу Суммесли() на ВПР() или суммпроизв(). После этого, копировать измененную ячейку во все ячейки в которых есть суммесли(). Примеры и коды обработки нескольких книг: http://sql.ru/forum/actualthread.aspx?tid=456013&hl=%ea%e0%f2%e0%eb%ee%e3#4442011 Найти и выделить ячеки по условию: http://www.sql.ru/forum/actualthread.aspx?tid=513219 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 10:39:20 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Макрос по замене функции с СуммЕсли на ВПР, может коряво, но сделал На данный момент макрос делает следущее: из: =СУММЕСЛИ('\\Serv\Финплан_2007\12.2007. (01)\С.с.12.2007\[Калькуляция с.с.12.2007 (3).xls]Кальк.'!$D$6:$D$195;D55;'\\Serv\Финплан_2007\12.2007. (01)\С.с.12.2007\[Калькуляция с.с.12.2007 (3).xls]Кальк.'!$FS$6:$FS$195) преобразует в: =ВПР(D55;'\\Serv\Финплан_2007\12.2007. (01)\С.с.12.2007\[Калькуляция с.с.12.2007 (3).xls]Кальк.'!$D$6:$FS$195;172;ЛОЖЬ) Работает тока на активной ячейке. Тоесть нуна самому отыскивать функции с СуммЕсли, вставать на эту ячейку и запускать макрос... Сейчас хочу сделать автоматический поиск по листу функции СуммЕсли и автоматической замены, но пока не знаю как :( авторПосле этого, копировать измененную ячейку во все ячейки в которых есть суммесли(). Довольно нудное и долгое занятие, учитывая что порядка в книгах нет... В одной таблице идентичные значения могут быть получены либо функцией СуммЕсли, либо простой ссылкой на ячейку, либо вообще забиты ручками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 12:08:59 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Смотрите метод Find в справке VBA. Вот пример, который ищет СУММЕСЛИ и заменяет на ВПР Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 13:24:15 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
кхе, удалите в моём макросе строку firstAddress = iFoundRng.Address ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 13:26:01 |
|
||
|
Замена формул с СУММЕСЛИ на ВПР
|
|||
|---|---|---|---|
|
#18+
Пасиба за помощь... Только данный макрос ищет СуммЕсли среди значений... Как сделать, чтобы искал в формулах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.02.2008, 17:24:43 |
|
||
|
|

start [/forum/topic.php?fid=61&fpage=243&tid=2181371]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 315ms |

| 0 / 0 |
