Каждый пользователь согласится с тем, что Microsoft Excel является одним из самых полезных инструментов в древности современных компьютеров. Каждый день миллионы людей используют электронные таблицы Microsoft Excel для выполнения множества задач, начиная от простых, таких как ведение записей журнала или записей, до расширенного анализа данных на основе сложных формул. Неоспоримо, что формулы Excel играют жизненно важную роль в обработке данных. Но иногда вы можете обнаружить, что формулы Excel не обновляются автоматически.
Формулы Excel не обновляются автоматически
Это может быть очень неприятно, когда ваши формулы не обновляются автоматически в Excel. Основываясь на этом, вот возможные причины, почему это может происходить. В этом посте мы объясним четыре таких сценария:
- Расчет настроен на «Ручной»
- Ячейка отформатирована как текст
- Кнопка Показать формулы включена
- Пробел введен перед знаком равенства.
Давайте рассмотрим каждый из них в деталях.
1] Расчет настроен на «Ручной»
Это одна из самых распространенных причин и первая проверка, которую нужно выполнить. Иногда параметр расчета настраивается на «ручной», и это основной сбой, заставляющий ячейки не обновлять формулы в Microsoft Excel. Вы можете решить эту проблему.
Запустите Excel, нажмите « Вкладка формул », а затем кнопку « Параметры расчета ». Теперь установите для параметра расчета значение Автоматический .
Этот параметр можно изменить с помощью макросов или других книг Excel, открытых ранее. Следовательно, если вы не знаете об этом параметре, это может быть причиной этой проблемы.
2] Ячейка отформатирована как текст .
Случайное форматирование ячеек, включая формулы, как « Текст » может стать еще одной проблемой, вызывающей эту проблему. В текстовом формате ячейка не будет рассчитываться так, как предполагалось.
Нажмите на ячейку и проверьте группу номеров на вкладке «Главная». Если отображается « Текст », измените его на « Общие », используя раскрывающееся меню.
Теперь пересчитайте формулу в ячейке, дважды щелкнув по ячейке и нажав « Ввод» .
3] Показать кнопку “Формулы” включено
Если кнопка « Показать формулы » на вкладке «Формулы» включена, формулы не работают. Это может быть сделано случайно пользователем или кем-то, кто ранее использовал эту книгу. Эта кнопка в основном используется при аудите формул, поэтому вместо конечного результата отображается формула. Тем не менее, эта вкладка очень полезна при устранении неполадок с глюками формулы.
Чтобы это исправить, просто нажмите кнопку Показать формулы и Отключите его .
4] Пробел введен перед знаком равенства
Последняя причина может заключаться в том, что при вводе формулы, если вы ошибочно вводите пробел перед «Равным (=)», следовательно, формула не будет рассчитываться. Эту ошибку очень трудно заметить, поэтому очень часто она остается незамеченной.
Проверьте, есть ли пробел, дважды щелкнув по ячейке, если это так, удалите ее, и формула обновится.
Я надеюсь, что эти советы помогут многим из вас решить проблему с формулами Excel, которые не обновляются автоматически. Обычные пользователи Excel сталкиваются с этими проблемами не раз, но теперь вы можете решать их достаточно хорошо!
Уважаемые знатоки. Вот столкнулся с такой проблемой. Значение ячейки А1 на Листе1 зависит от значения ячейки В2 на Листе2. Вот если поменять значение В2 а потом перейти на лист1 то ячейка А1 не обновляется. И что бы обновить данные нужно кликнуть 2 раза по ячейке А1 и нажать на Enter. Может можно написать код который бы обновлял все формулы на листе. Подскажите, как можно решить данную проблему. Заранее огромное спасибо! |
|
New Пользователь Сообщений: 4582 |
А версия Excel какая? Пересчёт какой стоит? Если ручной, то поставьте Автоматический. |
New Пользователь Сообщений: 4582 |
Если Excel 2010 — вкладка Формулы — (справа вверху) Параметры вычисления — выбрать Автоматически |
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#4 12.09.2010 00:35:04 {quote}{login=Makintosh}{date=12.09.2010 12:25}{thema=Не обновляются автоматически данные}{post}Уважаемые знатоки. Вот столкнулся с такой проблемой. Значение ячейки А1 на Листе1 зависит от значения ячейки В2 на Листе2. Вот если поменять значение В2 а потом перейти на лист1 то ячейка А1 не обновляется. И что бы обновить данные нужно кликнуть 2 раза по ячейке А1 и нажать на Enter. Может можно написать код который бы обновлял все формулы на листе. Подскажите, как можно решить данную проблему. Заранее огромное спасибо!{/post}{/quote}
|
|
New Пользователь Сообщений: 4582 |
Можно это сделать макросом Application.Calculation = xlCalculationAutomatic |
В настройках стоит автоматический пересчёт. Но всё равно приходится обновлять вручную. И ещё заметил, если формула написана встроенными функциями Excel то всё хорошо автоматом обновляется, а если с помощью написанной пользовательской функцией то возникает эта проблема. |
|
New Пользователь Сообщений: 4582 |
А у вас в написанных функциях есть строка ? Application.Volatile |
{quote}{login=Pavel55}{date=12.09.2010 12:39}{thema=}{post}А у вас в написанных функциях есть строка ? Application.Volatile{/post}{/quote} Нет, такой строки нету. |
|
R Dmitry Пользователь Сообщений: 3103 Excel,MSSQL,Oracle,Qlik |
#9 12.09.2010 00:48:32 {quote}{login=Makintosh}{date=12.09.2010 12:42}{thema=Re: }{post}{quote}{login=Pavel55}{date=12.09.2010 12:39}{thema=}{post}А у вас в написанных функциях есть строка ? Application.Volatile{/post}{/quote} Нет, такой строки нету.{/post}{/quote} Function нннннн()
|
|
New Пользователь Сообщений: 4582 |
А вы попробуйте добавьте её сразу первой строкой под названием функции, вот так Function МояСуперФункция() ‘ля-ля-ля End Function вдруг поможет |
Ребята, вы просто мозги. Всё помогло. Добавил строчку Application.Volatile и всё хорошо стало. |
|
New Пользователь Сообщений: 4582 |
#12 12.09.2010 00:57:41 Мы такие )) Только учтите, что написав эту строку в вашей функции, ваша функция стала «летучей», т.е. она теперь всегда будет пересчитываться при любом изменении на листе, в книге, в другой открытой книги, т.е. при любом телодвижении (кроме изменения цвета фона ячейки). И соответственно, если ваша функции медлительная, то это будет сказываться на быстроте работы всего Excel |
У меня есть ячейка в моем листе Excel, и мне нужно, чтобы эта ячейка обновлялась каждые 5 секунд.
Сам MS Excel позволяет установить обновление, но оно происходит только раз в 1 минуту, что недостаточно долго.
Мне нужен код в VBA или набор макросов, который запускается каждые 5 секунд, и делаю именно то, что было бы сделано, если бы я нажимал «Обновить» каждые 5 секунд, как показано здесь:
Как-то я не нашел ни одного примера того, что я совершенно не понимаю, как это сделать, поскольку я не знаю, как работать в VBA ..
3 ответа
Лучший ответ
Понял, теперь работает:
Sub UpdateCell()
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:5"), "List1.UpdateCell"
End Sub
-1
Totallama
23 Окт 2016 в 05:35
Вы можете использовать Application.OnTime для планирования автоматического обновления. Создайте следующую подпрограмму VBA и выполните. Он будет автоматически вычислять ячейку A1 каждые 5 секунд.
Sub UpdateCell()
ActiveWorkbook.RefreshAll
Application.OnTime Now + TimeValue("00:00:5"), "UpdateCell"
End Sub
1
AlbertLau14100
23 Окт 2016 в 04:05
Другой ответ описывает, как обновить всю страницу, но парень, задающий вопрос, сказал, что хочет обновить только одну конкретную ячейку.
Вот как обновлять (вычислять) ячейку A1 каждые 5 секунд.
Sub Calculate_Range()
Range("G3").Calculate
Application.OnTime DateAdd("s", 5, Now), "Calculate_Range"
End Sub
1
Gary Carlyle Cook
5 Дек 2019 в 03:20
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2013 Еще…Меньше
Вы можете в любой момент нажать кнопку Обновить, чтобы обновить данные в сводных таблицах в книге. Вы можете обновить данные для сводных таблиц, импортированных из Power Query, таких как база данных (SQL Server, Oracle, Access и т. д.), куб служб Analysis Services, веб-канал данных и многие другие источники. Можно также обновить данные из таблицы Excel,которая автоматически включает все изменения внешнего источника данных.
По умолчанию сводные таблицы не обновляются автоматически, но можно указать, что сводная таблица автоматически обновляется при открытии книги, содержащего сводную таблицу.
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.
Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».
-
Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.
Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.
Чтобы отменить обновление, нажмите Отменить обновление.
Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке « Данные» проверьте данные обновления при открытии файла .
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.
Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».
-
Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.
Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.
Чтобы отменить обновление, нажмите Отменить обновление.
Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке « Данные» проверьте данные обновления при открытии файла .
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ выберите команду Обновить или нажмите ALT+F5.
Совет: Вы также можете обновить сводную таблицу, щелкнув ее правой кнопкой мыши и выбрав команду «Обновить».
-
Чтобы обновить сразу все сводные таблицы в книге, на вкладке Анализ щелкните стрелку рядом с кнопкой Обновить и выберите пункт Обновить все.
Если таблица обновляется слишком долго, на вкладке Анализ нажмите стрелку рядом с кнопкой Обновить и выберите пункт Состояние обновления. Так вы сможете проверить состояние обновления.
Чтобы отменить обновление, нажмите Отменить обновление.
Если при обновлении сводной таблицы изменяется ширина столбцов и форматирование данных, но вы не хотите, чтобы это происходило, установите вот эти флажки.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке Макет и формат установите флажки Автоматически изменять ширину столбцов при обновлении и Сохранять форматирование ячеек при обновлении.
-
Щелкните любое место сводной таблицы. На ленте появится вкладка Работа со сводными таблицами.
-
На вкладке Анализ нажмите кнопку Параметры.
-
На вкладке « Данные» проверьте данные обновления при открытии файла .
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Microsoft Excel позволяет фильтровать данные. Это полезная функция, которая может помочь вам разобраться в больших объемах данных. Если у вас нет технических ноу-хау, необходимых для создания базы данных, эта функция спасет вам жизнь. Фильтры довольно простые и позволяют включать или исключать данные из столбца. Фильтр распространяется и применяется также к значениям данных в соответствующих строках. Фильтр не обновляется автоматически. Если значение в отфильтрованном столбце изменяется из-за того, что вы обновили его вручную или из-за того, что формула уже используется, вам придется снова применить фильтры. Простой фрагмент кода позволяет обновлять отфильтрованные столбцы на лету.
Вам нужно будет включить макросы и сохранить файл Excel как файл с поддержкой макросов, .XLSM, чтобы использовать код. Чтобы сохранить файл как файл с поддержкой макросов, выберите «Файл»> «Сохранить как» и выберите «Книга с поддержкой макросов Excel» в диалоговом окне «Сохранить как».
Затем выберите лист, к которому вы применили фильтры. Щелкните его правой кнопкой мыши и выберите в контекстном меню «Просмотреть код».
Откроется окно Microsoft Visual Basic с текущим листом Excel. Вставьте следующий код в окно кода.
Private Sub Worksheet_Change(ByVal Target As Range) If Me.FilterMode = True Then With Application .EnableEvents = False .ScreenUpdating = False End With With ActiveWorkbook .CustomViews.Add ViewName:="Mine", RowColSettings:=True Me.AutoFilterMode = False .CustomViews("Mine").Show .CustomViews("Mine").Delete End With With Application .EnableEvents = True .ScreenUpdating = True End With End If End Sub
Сохраните файл. Если вы не сохранили файл как книгу Excel с поддержкой макросов, вам будет предложено сделать это еще раз. Этот файл, который вы сохраните, будет сохранен как копия и не будет перезаписывать текущий файл.
После добавления кода вы можете обновить любую ячейку в отфильтрованном столбце, и он автоматически обновит отфильтрованные данные в соответствии с заданными вами условиями. Этот код был написан пользователем Stack Exchange Сорином.
Что вы думаете об этой статье?