Итерация циклических ссылок (Microsoft Excel)
Циклические ссылки возникают, когда формула прямо или косвенно ссылается на ячейку, в которой она хранится. Например, если B3 содержит формулу = B2 + B3, то B3 содержит круговую ссылку.
Обычно циклические ссылки представляют собой ошибку в формуле. Однако в некоторых ситуациях желательны циклические ссылки.
Excel позволяет включать в рабочий лист циклические ссылки, но может быть немного придирчивым к ним.
По большей части Excel очень снисходительно относится к циклическим ссылкам, если у вас включен элемент управления итерацией. (Выберите «Параметры» в меню «Инструменты» и откройте вкладку «Расчет».) Если вы установите флажок «Итерация», а затем введите циклическую ссылку, Excel не протестует.
Вместо этого он использует настройки на вкладке «Расчет», чтобы контролировать, сколько раз повторяется циклическая ссылка, прежде чем она будет считаться выполненной.
Похоже, что установка флажка Итерация сохраняется как часть книги, но не всегда учитывается, когда книга позже загружается в Excel. Фактически, этот параметр полностью игнорируется, если перед открытием книги происходит одно из следующих событий:
-
Вы открываете любую другую книгу, кроме книги по умолчанию, созданной при первом запуске Excel.
-
Вы меняете флажок Итерация, когда отображается книга по умолчанию.
Что делает Excel, так это проверяет установку флажка Итерация для любой книги, которую вы открываете впервые. Этот параметр становится «по умолчанию» для текущего сеанса работы с Excel. Для любой другой книги, загруженной во время того же сеанса, сохраненная установка флажка Итерация игнорируется.
Кроме того, если в вашей системе определена книга Personal.xls, то установка флажка Итерация в этом файле всегда используется по умолчанию. Зачем? Поскольку Personal.xls всегда будет первой открытой книгой, а первая открытая книга всегда определяет значение по умолчанию для параметра.
Если у вас есть сохраненная книга, в которой используются циклические ссылки, а флажок Итерация снят (по умолчанию или явно), то при открытии книги, содержащей циклические ссылки, Excel отображает предупреждение. Если вы не хотите видеть предупреждение, то очевидным решением будет либо убедиться, что вы открываете книгу раньше любой другой книги (чтобы использовалась ее настройка Iteration), либо явно установите флажок Iteration перед открытием книги.
Если вы не хотите беспокоиться о том, в каком порядке открывать книги, и не хотите постоянно менять настройку флажка Итерация, вы можете создать макрос, который гарантирует, что флажок Итерация установлен для книги. Если вы назначите макрос событию Open для книги, то он будет запускаться каждый раз при открытии книги, гарантируя, что вы не увидите предупреждение, которое не хотите видеть.
Макрос выглядит следующим образом:
Private Sub Workbook_Open() Application.Iteration = True End Sub
Если для вашей системы определена книга Personal.xls, вы можете добавить этот макрос в нее, а не в отдельные книги. Таким образом вы можете гарантировать, что флажок Итерация всегда установлен для каждого сеанса Excel.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (2816) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Iterating_Circular_References [Итерация циклических ссылок]
.