Как обновить ВСЕ ячейки через VBA - PullRequest
2 голосов
/ 03 марта 2010

Есть ли способ активировать (из VBA) Excel, запрашивая переоценку ВСЕХ его ячеек Excel?

спасибо

Ответы [ 3 ]

2 голосов
/ 03 марта 2010

Application.Volatile - это трюк интерпретатора vba, который работает только тогда, когда вызов размещается непосредственно после определения метода, после этого Application.Calculate также должен переоценить функцию

Public Function FooMethod()
Application.Volatile true

как говорится в справке ...

Помечает пользовательскую функцию как энергозависимую. Энергозависимая функция должна пересчитываться всякий раз, когда вычисление происходит в любых ячейках на рабочем листе. Энергонезависимая функция пересчитывается только при изменении входных переменных. Этот метод не имеет никакого эффекта, если он не находится внутри определенной пользователем функции, используемой для вычисления ячейки листа

1 голос
/ 03 марта 2010

Метод расчета может пересчитать отдельные рабочие листы или всю рабочую книгу.

Редактировать комментарий: Попробуйте установить Application.Volatile (true) перед вызовом вычисления.

0 голосов
/ 03 марта 2010

Если вы используете метод SendKeys, вы можете использовать Shift + F9 для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...