Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/21: Рейтинг темы: голосов - 21, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62

Перерасчет формул в ячейках

26.11.2008, 09:57. Показов 4078. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В ячейки написал формулу типа

=MyFunc()

и написал свою функцию MyFunc().
Эта функция вычисляет значение на основание содержимого других ячеек этой же таблицы.
Проблема заключается в том, что при изменение содержимого этих других ячеек функция MyFunc не запускается и не перерасчитывает значения.
Как мне заставить ее выполянтся. (
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2008, 09:57
Ответы с готовыми решениями:

Перерасчет формул
Здравствуйте! Столкнулся с тем, что при копировании формул и вставки их как значения пропадает перерасчет формул и вставляются...

Перерасчет формул, введенных текстом
Добрый день всем!! Мне прислали отчет, в котором бох знает кто, в одной ячейке умудрился вести учет по месяцам сумм, на подобии...

Как отключить перерасчёт и вычисления формул книги, перед её сохранением
Здравствуйте форумчане! Подскажите пожалуйста как отключить перерасчёт и вычисления формул книги, перед её сохранением. Книг много, а...

6
3 / 3 / 0
Регистрация: 03.12.2008
Сообщений: 17
08.12.2008, 08:57
Для начала нужно попробовать оформить функцию с параметрами.
0
0 / 0 / 0
Регистрация: 21.10.2008
Сообщений: 62
08.12.2008, 10:11  [ТС]
Да, я это уже понял, и не просто с параметрами, а с параметром числового типа, передавая в вдие фактического параметра адрес той ячейки которая изменяется и от значения которой зависит значение возвращаемой функции. По крайней мере это я понял в процессе своих экпериментов. Но как быть если аргументом для этой функции может являтся множество диапазонов ячеек, и при изменении значения хотя бы в одной из них, должно перерасчитываться функции ? Заведомо знать в какой ячейки будут изменения нельзя.
0
Stan
08.12.2008, 14:01
Используй предопределенную функцию Worksheet_Change,
которая вызывается всегда, когда происходит изменение
на активнойм листе:
Target - где было проведено изменение

Visual Basic
1
2
3
4
5
Private Sub Worksheet_Change(ByVal Target As Range)
'Target.Column - номер столбца в листе
'Target.Row - номер столбца в листе
Cells(Target.Column, Target.Row) = myFunc()
End Sub
3 / 3 / 0
Регистрация: 03.12.2008
Сообщений: 17
09.12.2008, 07:25
Маленькое уточнение.
Эти предопределенные функции азываются обработчиками событий. В данном случае событием является изменение на рабочем листе (обработчик Worksheet_Change). Причем, обратите внимание, не на активном, а именно на том для которого этот обработчик создан. Вот если создадите обработчик на изменение для рабочей книги Workbook_SheetChange, то тогда да - на активном, хотя здесь можно и пофилософствовать.
0
Stan
09.12.2008, 07:42
Философ, блин :-)))
0 / 0 / 0
Регистрация: 12.11.2007
Сообщений: 5
11.12.2008, 18:06
В теле функции поставь:
Application.Volatile

Описание для 'Volatile'.

Marks a user-defined function as volatile. A volatile function must be recalculated whenever calculation occurs in any cells on the worksheet. A nonvolatile function is recalculated only when the input variables change. This method has no effect if it's not inside a user-defined function used to calculate a worksheet cell.

Syntax

expression.Volatile(Volatile)

expression Required. An expression that returns an Application object.

Volatile Optional Variant. True to mark the function as volatile. False to mark the function as nonvolatile. The default value is True
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2008, 18:06
Помогаю со студенческими работами здесь

Пересчёт формул на отдельных диапазонах, столбцах, ячейках
Здравствуйте форумчане! Вопрос такой. Возможно ли задать макросом такие параметры, чтобы пересчитывались только отдельные диапазоны. у меня...

Дополнение формул в ячейках с появляющихся листов VBA Excel
Существует файл с фиксированным количеством постоянно присутствующих в нем листов, на одном из них собирается сводная информация в виде...

Запись формул, находящихся в определенных ячейках Excel, в код макроса
Добрый день уважаемы форумчане. Вопрос: Есть большое количество формул на листе, как продублировать запись этих формул в те же самые...

Использование формул в ячейках DataGridView
Собственно, нужно производить вычисления прямо в заполняемой ячейке датагрида, примерно как в экселе. Была идея перебора введенного...

Как указать вручную имя столбца для формул в ячейках?
Имеется несколько формул с суммами типа: "=СУММ(D6:I6)", "=СУММ(D7:I7)","=СУММ(D8:H8)" итд. В ячейке А1 указано имя столбца, например ( H )...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru