powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обновить принудительно ячейку в Excel 2003
9 сообщений из 9, страница 1 из 1
Обновить принудительно ячейку в Excel 2003
    #35767028
Layner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Есть лист, где в ячейке значится формула типа "=GetData(35)" , все работает, но ячейка обновляется только при открытии Книги. А как обновить принудительно? Читал: Обновление внешних данных в службах Excel 2007 , но в 2007 многое не как в 2003. Зарнее благодарю! ;)
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35767164
nporaMep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добавить в коде функции GetData строку в начало:
Application.Volatile = True

Тогда будет обновляться на лету как остальные формулы экселя.

Либо выбрать ячейку нажать F2 - enter.
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35767214
Layner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно, спасибо nporaMep , у меня таких ячеек штук 30, хотел бы обновлять их все разом, макросом. Т.е. можно пробежатся в цикле по диапазону, и поочередно обновлять формулу у каждой. А нет более красивого решения?
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35768009
alex_gearbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помню уж, с какого сайта и взял.

« Формулы, вставленные из VBA, нерасчитываются при вставке. Их приходится пересчитывать. Что делать ?
Макрос для пересчета ячеек только выделенной области


Приходится делать F2, Enter :-) Некоторые додумались использовать «замену». Это конечно не решает проблему, но все-таки ... Я лично использую специальный макрос который апдейтит выделенное, выполняя для каждой ячейки метод Calculate:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
sub SelectionCalculate()
   set ss = Selection
   for each cl in selection.cells
      cl.Select
      cl.Calculate
   next cl
   ss.Select
end sub

Этот макрос полезен и тем? что он показывает текущую пересчитываемую ячейку. Это нагляднее? чем прогресс-бар в строке состояния при пересчете ячеек Excel'ем. Я использую этот макрос в основном в книгах, где выключен пересчет ячеек (там, где много долгоиграющих формул). Иногда у Excel «съезжает крыша» и он начинает пересчитывать ячейки при любом изменении данных на листе. Приходится вырубыть автоматический пересчет ячеек (меню Сервис-Параметры-Вычисления-В ручную). И пользоваться этим макросом для пересчета того, что надо.»

© Михаил Землянуха
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35769657
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_gearbox,

а чем от просто selection.calculate отличается?
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35769661
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,

да и пересчитываются они, если стоит autocalculate
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35772728
alex_gearbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_alex_gearbox,

а чем от просто selection.calculate отличается?
selection.calculate не пересчитывает.
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35772990
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_gearbox Не помню уж, с какого сайта и взял.

« Формулы, вставленные из VBA, нерасчитываются при вставке. Их приходится пересчитывать. Что делать ?
Макрос для пересчета ячеек только выделенной области


Приходится делать F2, Enter :-) Некоторые додумались использовать «замену». Это конечно не решает проблему, но все-таки ... Я лично использую специальный макрос который апдейтит выделенное, выполняя для каждой ячейки метод Calculate:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
sub SelectionCalculate()
   set ss = Selection
   for each cl in selection.cells
      cl.Select
      cl.Calculate
   next cl
   ss.Select
end sub

Этот макрос полезен и тем? что он показывает текущую пересчитываемую ячейку. Это нагляднее? чем прогресс-бар в строке состояния при пересчете ячеек Excel'ем. Я использую этот макрос в основном в книгах, где выключен пересчет ячеек (там, где много долгоиграющих формул). Иногда у Excel «съезжает крыша» и он начинает пересчитывать ячейки при любом изменении данных на листе. Приходится вырубыть автоматический пересчет ячеек (меню Сервис-Параметры-Вычисления-В ручную). И пользоваться этим макросом для пересчета того, что надо.»

© Михаил Землянуха


а так работает ?

for each cl in selection.cells
cl.Calculate
next cl
...
Рейтинг: 0 / 0
Обновить принудительно ячейку в Excel 2003
    #35774861
alex_gearbox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К чему споры? См. авторство.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Обновить принудительно ячейку в Excel 2003
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]