Консультация № 140996
29.07.2008, 17:46
0.00 руб.
0 1 1
Уважаемые эксперты, подскажите в чем ошибка. Параметры Excel Calculation Options = Automatic. Я написал вызов простого макроса:

Public Function myNow() As Date
myNow = Now()
End Function

на листе Excel в ячейке "B3" прописываю вызов формулы =Now()
В ячейке "B4" прописываю вызов моего макроса =Test.xls!module1.myNow()

при вводе любых символов в другие ячейки значение ячейки "B3" показывает текущее время, а значение ячейки "B4" не пересчитывается. При вызове вручную режима "Calculate Now F9" значение ячейки "B3" пересчитывается регулярно, что не скажешь про ячейку "B4".

Почему так происходит? И нет стабильности при пересчете. В чем проблема?

Обсуждение

Неизвестный
30.07.2008, 08:27
общий
это ответ
Здравствуйте, Яськов Анатолий Викторовим!
Для того, чтобы Ваша функция автоматически пересчитывалась при изменении любой ячйки листа, необходимо добавить в ее код следующую строку:
Application.Volatile True


Приложение:
Public Function myNow() As Date
Application.Volatile True
myNow = Now()
End Function
Форма ответа