Как остановить расчеты в excel

I’ll show you how to stop formulas and functions from performing their calculations and updating in Excel.

This may seem trivial, but it will save you a lot of time when you are dealing with complex Excel files with thousands of formulas that are linked to other Excel files or with thousands of complex array formulas.  This is because these types of formulas take a long time to update/calculate and Excel recalculates all formulas and functions each time you edit a cell and hit Enter.

Stop Formula Calculations in Excel

Go to the Formulas tab and click Calculation Options and select Manual:

Download the sample workbook for this tutorial to test this out.  All of the numbers come from the RANDBETWEEN() function and so they will change each time the worksheet updates.  You can test this with automatic calculations on and then off to see the effect.

Turn Formula Calculations Back On in Excel

Follow the same steps as above but then select Automatic instead of Manual.

How to Manually Calculate Formulas and Functions

When you have the formula calculation set to manual, you will still need to be able to update formulas and function and this is easy to do:

Keyboard shortcut F9 (calculate the entire workbook)

Keyboard shortcut Shift + F9 (calculate the currently visible worksheet)

Buttons on the Ribbon Menu (Formulas tab, all the way to the right):

Notes

This works for the entire workbook; you can’t turn calculations off for just one sheet or tab.

Don’t forget to check if calculations have been set to manual or automatic when troubleshooting a workbook.  A common thing is to freak out that none of your formulas are working like they should until you remember that the automatic calculations have been turned off.


Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons

50+ Hours of Video

200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Как правило, когда вы используете формулу на листе, например, в ячейке C1, вы используете эту формулу = A1 + B2, и формула будет автоматически вычисляться с изменением данных в A1 и B2. Теперь, если вы хотите остановить автоматический расчет, я могу предложить вам два хитрых способа.

Остановить автоматический расчет с помощью параметров расчета в Excel

Остановить автоматический расчет с помощью VBA


стрелка синий правый пузырь Остановить автоматический расчет с помощью параметров расчета в Excel

Если вы хотите остановить автоматический расчет в Excel, вам просто нужно изменить автоматический расчет на ручной расчет.

Пожалуйста, нажмите Формула > Варианты расчета > Вручную. Смотрите скриншот:

Теперь автоматический расчет в Excel остановлен.


стрелка синий правый пузырь Остановить автоматический расчет с помощью VBA

Между тем, использование VBA может остановить автоматический расчет.

Если вы привыкли использовать VBA, вы также можете запустить приведенный ниже VBA для объединения всех остальных строк.

1. Держать ALT кнопку и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Module и скопируйте VBA в модуль.

VBA: остановить автоматическое вычисление с помощью VBA

Private Sub Workbook_Open()
'Updateby20140314
Application.Calculation = XlCalculation.xlCalculationManual
End Sub

3. Затем нажмите Run чтобы остановить автоматический расчет.

Функции: Если вы хотите восстановить автоматический расчет, просто нажмите Формула > Варианты расчета > Автоматически.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (3)


Оценок пока нет. Оцените первым!

 

Можно ли сделать так, чтобы вычисления на листе (в книге) прекратились в тот момент, когда одна из ячеек в процессе вычисления станет равной какому-либо значению? Понимаю, что такого можно добиться за счет процедур обработки события, но может быть есть какие-то другие способы и функции (например, принудительного завершения всех вычислений на листе или что-то вроде этого)??  

  Заранее благодарен за ответ

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Вижу решение только по событиям.

 

Тогда тот же самый вопрос, но в заданной ячейке установлена Пользовательская функция. Как то из Пользовательской функции можно прекратить все вычисления на листе???

 

Метод Calculate можно применять не только ко всему листу, но и к диапазону (см. Справку по Range.Calculate Method). Соответственно, Вы можете контролировать процесс расчета листа и остановить его при определенном условии.

 

слэн

Пользователь

Сообщений: 5192
Регистрация: 16.01.2013

зачем?  

  не встречался с такой неоходимостью раньше..  

  может быть вашу задачу(основную, останов вычислений предполагаю вспомогательной) можно решить по-другому?

 

по поводу ЗАЧЕМ!!!  

  В случае, если в ячейке Пользовательская функция дает какое-то значение, то это делает бессмысленным (по условиям задачи) все последующие (и возможно продолжительные) расчеты в книге. В этом случае хотелось бы просто проинофрмировать пользователя с помощью текстового сообщения об ошибки в условиях задачи и прекратить все последующие расчеты, не вводя пользователя в заблуждении при ожидании результатов расчета.    
По поводу метода Calculate сам думал, но хотелось бы чтобы вычисления принудительно завершились, при этом при новых изменениях данных в книге система опять в автоматическом режиме стала производить расчет!! (т.е. нужно опять скорректировать метод Calculate, но не в тойже Пользовательской функции!!! Тогда где, в обработке событий? Может есть какие-то другие пути?)

 

Предыдущее сообщение мое. Забыл указать пользователя.

 

Вот Вам простой пример, см. код листа.  
В А1 значение, которое Вы вводите, в остальных ячейках формулы.  
Если в А4 получается значение >20, вычисления останавливаются.  
Попробуйте ввести в А1 2, потом 3.

 

Казанский  
Сообщение то выдается, а расчет всех последующих формул в ячейке продолжается…  
А мне надо, чтобы прекратился……  

  Спасибо, но надо что-то добавить…

 

Что значит «расчет всех последующих формул в ячейке продолжается…» ?!    
Вот я ввожу А1=10. В А2-А4 значения изменяются, выдается сообщение, после закрытия сообщения в А5-А9 остаются прежние значения (см. скриншот). У Вас не так?  
Может, Вы включили автоматические вычисления?

 

Юрий М

Модератор

Сообщений: 60585
Регистрация: 14.09.2012

Контакты см. в профиле

Может всё проще? В ячейке А1 некая формула, если её значение превысит 10 — автовычисление отключается.  
Private Sub Worksheet_Calculate()  
   If Range(«A1») > 10 Then Application.Calculation = xlManual  
End Sub

 

Ответ для Казанский: Вы правы, была установлена опция автоматические вычисления. Ваш метод интересен тем, что происходит поячеечное вычисление согласно условия.  

  Ответ для Юрий М:  
Проблема в том, что систему нужно затем специально переводить в автоматический режим вычислений. В решении Казанский она тоже в ручном режиме, но переводить в автоматический режим не требуется!!  

  Я думал (вернее надеялся), что в Excel есть какая-то глобальная функции типа Exit Function, которая позволяет остановить работу Exel непосредственно из пользовательской функции, но при этом сам Exel сохранял бы возможность автоматических вычислений при новом введении информации в какую-либо ячейку.    

  Если не получится как-то поиграться с Application.Calculation (что идеолгически красивее), то придется использовать 1-ый способ с поячеечным вычислением  

  Спасибо всем

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

{quote}{login=evgeniy234}{date=09.09.2010 02:53}{thema=}{post}Я думал (вернее надеялся), что в Excel есть какая-то глобальная функции типа Exit Function…{/post}{/quote}  
В Excel есть встроенный инструмент «итеративные вычисления»: Сервис-Параметры-Вычисления-Итерации-Погрешность. Может, там порыться?

 

На самом деле, вычислять можно не поячеечно, а подиапазонно.  
То есть сначала Вы делаете пересчет диапазона, от которого зависит значение определяющей ячейки, и самой этой ячейки. Можно одной командой пересчитать несколько несвязных диапазонов:  

  range(«A1:B10,D3:K4,F7»).calculate  

  Потом проверить значение ячейки и, если решение положительное, запустить пересчет всего листа:  

  activesheet.calculate

 

evgeniy234

Гость

#15

09.09.2010 20:05:53

спасибо всем попробую….

Как остановить автоматический расчет в Excel

В этой статье вы узнаете, как остановить автоматический расчет в Excel и разницу между автоматическим и ручным расчетом формул.

Остановить автоматический расчет

По умолчанию Excel пересчитывает каждую формулу в книге при изменении ячейки. Это может замедлить работу, особенно в сложных файлах с огромным количеством формул. Чтобы ускорить процесс, мы можем остановить автоматический расчет формул, изменив его на ручной. Это означает, что формулы не будут вычисляться автоматически при каждом изменении в книге. Этого можно добиться двумя способами. Первый — в Лента, перейдите к (1) Формулы> Варианты расчета > Руководство по эксплуатации.

Еще один способ перейти к ручному расчету — изменить настройки Excel.

Сначала откройте Excel и выберите Параметры в конце меню.

Если вы уже находитесь в книге Excel, в Лента, Выбрать Файл> Параметры.

1. Теперь выберите формулы и перейдите к Варианты расчета раздел. Здесь вы можете найти настройки «Расчет книги».

2. Выберите Руководство по эксплуатации.

3. Затем щелкните ОК.

Расчет вручную — рассчитать сейчас

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

Если вы измените числа в столбцах A и B, когда для автоматического расчета задано значение «Вручную», вы увидите, что сумма в столбце C не обновляется — расчет не производится.

Итак, когда вы будете готовы вычислить все формулы, перейдите к (1) Формулы вкладку и щелкните (2) Рассчитать сейчас.

Теперь все формулы обновлены, и правильные суммы вычисляются в столбце C.

Вы поможете развитию сайта, поделившись страницей с друзьями

На чтение 1 мин. Просмотров 68 Опубликовано 20.05.2021

Как правило, когда вы используете формулу на листе, например, в ячейке C1, вы используете эту формулу = A1 + B2, и формула будет автоматически вычисляться с изменением данных в A1 и B2. Теперь, если вы хотите остановить автоматический расчет, я могу предложить вам два хитрых способа.

Остановить автоматический расчет с помощью параметров расчета в Excel

Остановить автоматический расчет с помощью VBA


Остановить автоматический расчет с помощью параметров расчета в Excel

Если вы хотите остановить автоматический расчет в Excel, вам просто нужно изменить автоматический расчет на ручной расчет .

Выберите Формула > Параметры расчета > Вручную . См. Снимок экрана:

Теперь автоматический расчет остановлен в Excel.


Остановить автоматический вычисление с помощью VBA

Между тем, использование VBA может остановить автоматическое вычисление.

Если вы привыкли использовать VBA, вы также можете запустить приведенный ниже VBA чтобы объединить все остальные строки.

1. Удерживая кнопку ALT , нажмите F11 на клавиатуре, чтобы открыть окно Microsoft Visual Basic для приложения .

2. Нажмите Вставить > модуль и скопируйте VBA в модуль.

VBA: остановите автоматическое вычисление с помощью VBA

3. Затем нажмите Выполнить , чтобы остановить автоматический расчет.

Совет : если вы хотите восстановить автоматический расчет, просто нажмите Формула > Параметры расчета > Автоматически .


Остановить выполнение формулы, если условие выполнено

falk0n

Дата: Вторник, 13.07.2021, 13:14 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7

Приветствую, уважаемые форумчане.

Задача следующая:

Есть ячейка E11 с датой, например 17.06.2021. В условном форматировании создано правило с формулой

, которая выделяет строку красным цветом за 7 дней до приближения даты.

Дело в том, что даже после этой даты (18.06.2021), строка остаётся выделенной красным цветом.

Как остановить выполнение формулы, если условие выполнилось?

Сообщение отредактировал falk0nВторник, 13.07.2021, 13:22

 

Ответить

китин

Дата: Вторник, 13.07.2021, 13:37 |
Сообщение № 2

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Код

=И((СЕГОДНЯ()-$E11)<7;(СЕГОДНЯ()-$E11)>0)

может правильно?. без файла не проверял


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

alexa1965

Дата: Вторник, 13.07.2021, 13:38 |
Сообщение № 3

Группа: Проверенные

Ранг: Обитатель

Сообщений: 288


Репутация:

52

±

Замечаний:
0% ±


2003> 2019

День добрый! Примерчик бы… А в целом у меня если в столбце исполнение не внесена дата, то не исполненное замечание (и тд) тоже остается подсвеченным. А как у Вас не знаю… пример нужен


Главное не быть балабастиком

 

Ответить

falk0n

Дата: Вторник, 13.07.2021, 13:53 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7

Прикладываю файл для примера.

=И((СЕГОДНЯ()-$E11)<7;(СЕГОДНЯ()-$E11)>0)

Работает. Но не выделяет строку, если прописать текущую дату. Предположим сегодня день рождения, а строка не подсвечивается.

 

Ответить

китин

Дата: Вторник, 13.07.2021, 14:05 |
Сообщение № 5

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016


стесняюсь спросить: какую такую строку? у вас в файле заняты ДВЕ ячейки


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

falk0n

Дата: Вторник, 13.07.2021, 14:10 |
Сообщение № 6

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7

стесняюсь спросить: какую такую строку? у вас в файле заняты ДВЕ ячейки

Файл выслал для примера, оставил только 2 ячейки, суть решения вопроса от этого не меняется.

 

Ответить

Serge_007

Дата: Вторник, 13.07.2021, 15:02 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Читайте правил форума

не выделяет строку, если прописать текущую дату

См. вложение


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

falk0n

Дата: Среда, 14.07.2021, 06:09 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 7

Serge_007, Благодарю! Вопрос решён. Тему можно закрыть.

Сообщение отредактировал falk0nСреда, 14.07.2021, 06:12

 

Ответить

Расчеты в Excel
07.11.2013 29833

Excel всегда вычисляет формулу, как только вы подтверждаете ее ввод. Также программа автоматически перевычисляет уже созданную формулу, как только используемые в ней переменные изменяют свои значения. Это не представляет проблемы для небольших книг и листов, однако может существенно замедлить компьютер при работе с большими листами, использующими зависящие друг от друга формулы. Для выключения автоматического расчета формул проделайте следующие действия:

  1. Выберите Файл → Параметры → Формулы.
  2. Или перейдите на вкладку Формулы ленты инструментов и нажмите кнопку Параметры вычислений.

Вы видите три предложенных варианта:

  1. Автоматически — стандартный параметр вычислений, который означает, что Excel автоматически обновляет расчеты формул, как только вы их создаете или переменные внутри формул меняют свои значения.
  2. Автоматически, кроме таблиц тайных — данный вариант означает, что Excel автоматически вычисляет формулы, за исключением тех, что связаны с таблицами данных. Это неплохой выбор, если ваша книга содержит несколько больших таблиц данных и происходит замедление в работе.
  3. Вручную — используйте данный выбор, если вы хотите вычислять все формулы только вручную или при сохранении книги. Если вы находитесь в диалоговом окне настроек Excel, вы можете убрать пересчет формул при сохранении.

При нахождении в ручном режиме вычислений вы увидите кнопку Вычислить в строке состояния Excel, в случае если результаты формул устарели и нуждаются в обновлении. Для проведения вычислений просто нажмите на данную кнопку. Применяйте предложенные методы, особенно если вы работаете в закупках и вам часто приходится производить вычисления. Посетите семинар по 223-ФЗ «О закупках товаров, работ, услуг отдельными видами юридических лиц» и узнайте сможет ли закон решить поставленные перед ним законодателем целей, покажет практика его применения. Также вы можете использовать следующие горячие клавиши:

  • Нажмите F9 или кнопку Пересчет панели инструментов (при нахождении на вкладке Формулы ленты инструментов) для проведения пересчета всех листов документа.
  • Нажмите Shift+F9 или кнопку Произвести вычисления для пересчета текущего листа.

Если вы хотите пересчитать только часть вашего листа при нахождении в ручном режиме, используйте одну из следующих возможностей:

  • Для пересчета одной формулы выберите ячейку с этой формулой, активируйте ввод (двойным щелчком мыши) и затем подтвердите ячейку (нажатием на клавишу Enter).
  • Для пересчета формул нескольких ячеек выберите их, нажмите сочетание клавиш Ctrl+Н. На экране появится окно поиска и замены данных. В поля Найти и Заменить на введите знак Далее нажмите на кнопку Заменить все. При этом Excel сделает пересчет выбранных ячеек.

По теме

Новые публикации

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как остановить расчет формул в excel
  • Как остановить работу макроса excel
  • Как остановить процесс excel
  • Как остановить поиск решения в excel
  • Как остановить пересчет формул в excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии