powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
4 сообщений из 4, страница 1 из 1
каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
    #37501059
jack100500
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Книга экселя 2007 выросла до значительных объёмов, к тому же в ней я использовал кучу сложных формул, в т.ч. тройные+ выпадающие списки, связанные с помощью формул. (Регин-город-склад: т.е. выбирается сначала восточный регион - там выпадает список городов региона, от к-го зависит список складов и тд. и тп.) и книга начала тормозить. "недостаточно данных" - но после этой ошибки всё ж обновлялась. сейчас дошло до того что при автоматическом обновлении, или вручную книга перстала обновлятся в местах, где используются формулы для динамических списков. по сему решил попробывать обновить с помощью вба.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Sub rrr()
Dim sh As Worksheet
Dim c As Range
Dim i, j As Long

For Each sh In Worksheets

j =  1 
i =  1 
' последняя заполненная строка с данными в столбце j
rowmax = Cells(Rows.Count, j).End(xlUp).Row 
Do While i <= rowmax
' последний заполненный столбец с данными в строке i
     colmax = Cells(i, Columns.Count).End(xlToLeft).Column
     For j =  1  To colmax
      ' ищу в формуле =, чтоб собственно определить, что это формула а не просто значение
       If InStr( 1 , Cells(i, j).Formula, "=",  0 ) <>  0  Then
          ' таким образом я думал переввести формулу - при этом она должна пересчитаться. но увы не вышло.
          Cells(i, j).FormulaR1C1 = Cells(i, j).FormulaR1C1
       End If
                 ' переопределяю границы
                  If Cells(Rows.Count, j).End(xlUp).Row > rowmax Then
                      rowmax = Cells(Rows.Count, j).End(xlUp).Row
                   End If
     Next j
    i = i +  1 
Loop

Next sh



End Sub

нужен, собственно совет какой 100%метод использовать для обновления этой книги поячеечно. или всей напр.
вместо
Код: plaintext
Cells(i, j).FormulaR1C1 = Cells(i, j).FormulaR1C1
Модератор: учимся использовать тэги для оформления кода
...
Рейтинг: 0 / 0
каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
    #37501099
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
From xl2002's help for: Change when and how formulas are calculated

By default, Microsoft Excel automatically recalculates formulas when the cells
that the formula depends on have changed.

Calculate a worksheet or workbook now

Press F9 Calculates formulas that have changed since the last calculation, and
formulas dependent on them, in all open workbooks. If a workbook is set for
automatic calculation, you do not need to press F9 for calculation.

Press SHIFT+F9 Calculates formulas that have changed since the last
calculation, and formulas dependent on them, in the active worksheet.

Press CTRL+ALT+F9 Calculates all formulas in all open workbooks, regardless of
whether they have changed since last time or not.

Press CTRL+SHIFT+ALT+F9 Rechecks dependent formulas, and then calculates all
formulas in all open workbooks, regardless of whether they have changed since
last time or not.

===
That last one was added in xl2002.

So if F9 doesn't do what you expect, try shift-f9, then ctrl-alt-F9.

(or jump directly to ctrl-alt-f9)
...
Рейтинг: 0 / 0
каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
    #37501352
jack100500
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

эти методы все естественно опробованы. результата не дают - либо не обновляет всё либо глухо виснет, вслучае обновления всех и вся ктрл+альт+..+ф9. потому и возник вопрос.
...
Рейтинг: 0 / 0
каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
    #37501755
Фотография alex77755
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пришел к выводу, что формул не должно быть слишком много в книгах, А лучше пользоваться макросами.
И только где уж никак не обойтись, то оставить формулы.
Призодилось выполнять заказ: Прислали книгу только открывалась минут 8.
Сделал обработчики в массивах и словарях - максиум 6 с.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / каким методо обновить excell книгу поячееячно, если книга сама не обновляет все формулы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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