Сообщение от Excel: "Некоторые формулы на этом листе содержат недопустимые ссылки. Убедитесь, что ссылки на ячейки, имена диапазонов, определенные имена и связи с другими книгами в формулах указаны правильно."
Штатные инструменты ошибок не видят (надстройка Name Manager, вроде, тоже). Указанные объекты выведены программно и проанализированы. Ошибок нет, но обнаружено, что использование в книге формул, введенных впервые в Excel 2007, приводят к создание имен с префиксом "_xlfn." (своего рода, маркер): Name RefersTo RefersToLocal _xlfn.COUNTIFS =#NAME? =#ИМЯ? _xlfn.IFERROR =#NAME? =#ИМЯ?
Разумеется, в моей книге использованы соответствующие формулы (значения аргументов в скобках здесь рассматривать не надо): =СЧЁТЕСЛИМН(КР;B$25;НаимОц10;$A26) =ЕСЛИОШИБКА(ПЕРСЕНТИЛЬ(ЕСЛИ((КР=B$4)*НЕ(ЕПУСТО(БаллОц10));БаллОц10);0,25);НД())
В Интернете пишут (врут), что это якобы случается, если открыть приложение, использующее новые формулы, в Excel 97-2003, но проверено, что это не так. Советуют также заменить новые формулы старыми решениями: например, вместо ЕСЛИОШИБКА (IFERROR) использовать комбинацию формул ЕСЛИ (IF) и ЕОШИБКА (ISERROR), а формулу СЧЁТЕСЛИМН (COUNTIFS) заменить на формулу СУММАПРОИЗВ (SUMPRODUCT) и т.д. и т.п. Увы, пробовал - заменил, но это не привело к желаемому результату: то самое сообщение продолжает выскакивать, как черт из табакерки: раздражает... Но всё работает. При этом, естественно, имена с префиксом "_xlfn." исчезают (после сохранения книги и повторного открытия). Очевидно, что эта проблема как была в Excel 2010, так и осталась в Excel 2016. При открытии книги всё обстоит нормально, но стоит, например, изменить раз или другой раз, третий... размер таблицы (ListObject) на листе, и вдруг, совершенно неожиданно, появляется упомянутое сообщение и потом уже выходит постоянно при всяком изменении или сохранении файла, пока не перезапустишь Excel. В таблице, и на листе, где она размещена, вообще нет ни одной формулы (только исходные данные). Локализовать ошибку не удается. Есть предположение, что это "косяк" Excel. Неужели надо воссоздать всё приложение заново, поэтапно, осторожно и с оглядкой? И тогда посмотреть. Или как? Возможно, что никакой связи упомянутого сообщения с префисом имен "_xlfn." нет вовсе. Кто знает, кто сталкивался с подобным? Из-за этой ошибки приложение нельзя передать пользователям.
...использование в книге формул, введенных впервые в Excel 2007, приводят к создание имен с префиксом "_xlfn."... В Интернете пишут (врут), что это якобы случается, если открыть приложение, использующее новые формулы, в Excel 97-2003, но проверено, что это не так
А я буду утверждать, что Вы врете. Как проверили ошибочность утверждения?
Согласен - надо проверить диапазоны в диаграммах. Они могли быть созданы при помощи как раз имен, который впоследствии были удалены. Диаграммы можно не удалять, но изменить источник данных не помешало бы: Правая кнопка мыши на диаграмме -Выбрать данные.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Просто я не открывал свое приложение в Excel 97-2003: у меня его нет. А проблема есть. А диаграмм много, очень много, и они достаточно сложные, саморасширяющиеся (по Уокенбаху). Ошибок, вроде, нет: они работают правильно. С ними другая проблема: сбрасывается заливка одного ряда на дефолтную при изменении источникам данных — пришлось добавить кнопку "Заливка ряда…". Но тема не об этом. Связи не вижу, поскольку сообщение об ошибке появляется крайне неожиданно, вылезает не сразу… Я тоже сначала обрадовался, думая, что всё дело в неправильном значении "=#Имя?" в имени с префиксом "_xlfn.".
ну тогда удачи. Вам советуют, а Вы не видите связи. Зачем тогда обратились на форум? Я вот явно вижу связь: именно такое сообщение как у Вас появляется, если в источнике диаграммы есть ошибка. При этом диаграмма будет обновляться корректно в соответствии с данными. Но раз Вы уверены, что у Вас все же дело в барабашке - ищите его дальше.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Разрешилось. Проверил диапазоны данных всех диаграмм (ошибок нет). Удалял по очереди каждую, тестируя приложение. Проблема была в комбинированной саморасширяющейся квартильной диаграмме (не Excel 2016). Но создавать заново не стал. Сохранил проект в формате Excel 97-2003, а потом вернул обратно (одна ссылка разрушилась - восстановил). И всё, вроде, работает. Сброс заливки ряда к дефолтной тоже исчез. Вывод: дело было действительно в диаграммах, но решение нашел попроще. И косяки (барабашки) все-таки в Excel. Всем спасибо. Тема закрыта.
Доброго времени суток! Хотел бы поделиться информацией по данному вопросу в дополнение к сказанному. Кому-то, возможно, поможет. 1) Прежде всего, прав был The_Prist: дело действительно в ссылках, используемых в диаграммах, поскольку штатный Checker их просто не проверяет. Спасибо. 2) Ошибка из сообщения ниже появлялась при изменении размера таблицы Excel (ListObject), причем изменении только по высоте (не в ширину), а также при действиях с диаграммами – именно там, в подписях ряда использовалась ссылка-массив, вычисленный программно (RefersTo = "={...}"). Но имя и значение абсолютно корректны и в других местах имя проблем не вызывает. И в диаграммах все работает, но...
Сообщение Excel: "Некоторые формулы на этом листе содержат недопустимые ссылки. Убедитесь, что ссылки на ячейки, имена диапазонов, определенные имена и связи с другими книгами в формулах указаны правильно".
Причем при обновлении имени самого на себя ошибка исчезала (это еще надо было догадаться так попробовать): ThisWorkbook.Names("Мое_имя").RefersTo = ThisWorkbook.Names("Мое_имя").RefersTo Как-то так. Однако, весьма странно. 3) В итоге заменил ссылку-массив (вычисленный) ссылкой на диапазон, и всё стало нормально. 4) Попутно повторю (писал выше), что ошибку сброса заливки ряда на дефолтную я устранил сохранением файл в формате Excel 97-2003 (*.xls) и потом обратно в *.xlsm. 5) Добавлю: иногда объект ListObject "клинит": исчезает двунаправленная стрелка изменения размера таблицы вручную, и не помогает перезапуск Excel или удаление и повторное создание таблицы на этом же листе - приходится менять лист. Об этом тоже пишут в Сети. Excel сложная программа (не в плане использования), создавалась годами, постоянно изменяется... И ошибки в ней были, есть и будут! И это нормально.