Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2015, 14:41   #11
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

т.е. надо иметь "библиотеку своих формул" для сравнения? А с помощью VBA можна установить что формула в ячейке использует UDF?
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Старый 13.11.2015, 14:50   #12
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Зачем библиотеку? ТС ведь знает что именно использует.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.11.2015, 15:18   #13
AleksandrH
Форумчанин
 
Аватар для AleksandrH
 
Регистрация: 15.02.2010
Сообщений: 148
По умолчанию

Неверно выразился. надо ведь иметь "список функций которые UDF" чтобы сравнить его с функцие которая в ячейке и если есть совпадение то заменять на значение?
WIX-FILTERS. A Filter for every application.
AleksandrH вне форума Ответить с цитированием
Старый 13.11.2015, 15:24   #14
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Ну если их там много нужно менять - то или список, или в коде ветвлением все перебирать.
Думаю что нет простого способа отличить стандартную функцию от UDF. Есть ведь ещё и типа UDF от производителя - всякие пакета анализа и т.д....
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 13.11.2015, 15:50   #15
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ячейка содержащая пользовательскую функцию не имеет ни каких "особых" меток (ничего такого не нахожу)

нужен список собственных функций
и проверка на наличие хоть одной из них в теле формулы
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 13.11.2015, 16:25   #16
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Цитата:
Сообщение от Demetros Посмотреть сообщение
Есть большая таблица с кучей пользовательских формул, которые пересчитываются очень долго (извлечение даты из текста в ячейке).
Может для начала попробуем оптимизировать код функции? Выложите его.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 17.11.2015, 16:39   #17
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Код:
Sub mjhgj()
'удаление указанной формулы с листа
    For Each cell In UsedRange
    If cell.FormulaLocal = "=A1+B1+112" Then cell.Value = cell.Value
    Next cell
End Sub
Долго мучался. вот что получилось. Только нужно прописывать формулы в макрос заранее.
Demetros вне форума Ответить с цитированием
Старый 17.11.2015, 16:45   #18
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Зачем "мучался"?
Hugo121 в сообщении дал код перебора ячеек с проверкой потом IgorGO подсказал

Цитата:
нужен список собственных функций
и проверка на наличие хоть одной из них в теле формулы
С чем загвоздка была?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 17.11.2015, 17:35   #19
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

видите-ли, уважаемый Demetros
если в С1 было написано =A1+B1+112,
то в С2 должно быть =A2+B2+112
в С3 ...
а если в таблице 147243 строки - это довольно много разных формул
Вы не устанете набирать список формул, которые нужно заменить?

присмотритесь к сообщению #2 в Вашей теме, ответ на Ваш вопрос не там, случайно? Без Sub и End Sub - это 1 строка кода вместо 147243 строк.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.11.2015, 18:28   #20
Demetros
Форумчанин
 
Регистрация: 28.01.2014
Сообщений: 126
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
Зачем "мучался"?
Hugo121 в сообщении дал код перебора ячеек с проверкой потом IgorGO подсказал



С чем загвоздка была?
Шарил по другим форумам.
Demetros вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание пользовательской функции в Excel Аcmrf Microsoft Office Excel 5 29.04.2014 16:09
создание пользовательской функции Devil669 Microsoft Office Excel 1 10.12.2012 23:47
написание пользовательской функции drNabla Microsoft Office Excel 15 05.11.2010 09:08
Составить программу вычисления выражения и выведения полученного результата на экран.тема ФУНКЦИИ. coolbaba Общие вопросы Delphi 1 03.06.2010 03:31
Написание пользовательской функции. GoreProgrammist Microsoft Office Excel 9 15.07.2009 15:28