Эксель связи ошибка

Excel для Microsoft 365 для Mac Excel 2019 для Mac Excel 2016 для Mac Excel для Mac 2011 Еще…Меньше

Если книга содержит ссылку на данные в книге или другом файле, перемещенного в другое место, вы можете исправить эту ссылку, обновив путь к исходный файл. Если вам не удалось найти документ, на который вы изначально ссылались, или нет доступа к нему, можно отключить в Excel обновление ссылки, отключив автоматическое обновление или удалив ссылку.

Важно: 
связанный объект гиперссылки — это не одно и то же. Следующая процедура не позволит исправить неправиленные гиперссылки. Дополнительные информацию о гиперссылках см. в теме «Создание и изменение гиперссылки».

Исправление неправиленной ссылки

Внимание: Это действие нельзя отменить. Перед началом этой процедуры может потребоваться сохранить резервную копию книги.

  1. Откройте книгу, которая содержит неверную связь.

  2. На вкладке «Данные» нажмите кнопку «Изменить связи».

    Команда «Изменить связи» недоступна, если книга не содержит ссылок.

  3. В поле «Исходный файл» выберите неправиленную ссылку, которую вы хотите исправить.

    Примечание: Чтобы исправить несколько ссылок, щелкните каждую из Клавиша COMMAND, удерживая нажатой Клавиша COMMAND.

  4. Выберите команду Смена источника.

  5. Перейдите к расположению файла, содержащего связанные данные.

  6. Выберите новый исходный файл и нажмите кнопку «Изменить источник».

  7. Нажмите кнопку Закрыть.

Удаление неявной ссылки

При разрыве связи все формулы, которые ссылаются на исходный файл, преобразуются в их текущее значение. Например, если формула =СУММ([Budget.xls]Годовой! C10:C25) — 45, после того как связь не будет нарушена, формула будет преобразована в 45.

  1. Откройте книгу, которая содержит неверную ссылку.

  2. На вкладке «Данные» нажмите кнопку «Изменить связи».

    Команда «Изменить связи» недоступна, если книга не содержит ссылок.

  3. В поле «Исходный файл» выберите ненужную ссылку, которую нужно удалить.

    Примечание: Чтобы удалить несколько ссылок, щелкните каждую из Клавиша COMMAND, удерживая нажатой кнопку мыши.

  4. Щелкните элемент Разорвать.

  5. Нажмите кнопку Закрыть.

Важно: 
связанный объект гиперссылки — это не одно и то же. Следующая процедура не позволит исправить неправиленные гиперссылки. Подробнее о гиперссылках: создание, изменение и удаление гиперссылки

Исправление неправиленной ссылки

Внимание: Это действие нельзя отменить. Перед началом этой процедуры может потребоваться сохранить резервную копию книги.

  1. Откройте книгу, которая содержит неверную связь.

  2. В меню Правка выберите пункт Связи.

    Если книга не содержит ссылок, команда «Ссылки» недоступна.

  3. В поле «Исходный файл» щелкните неправиленную ссылку, которую нужно исправить.

    Примечание: Чтобы исправить несколько ссылок, щелкните каждую из Клавиша COMMAND, удерживая нажатой Клавиша COMMAND.

  4. Выберите команду Смена источника.

  5. Выполните одно из следующих действий:

    Задача

    Необходимые действия

    Исправление неправиленной ссылки на лист в другой книге

    В диалоговом окне «Открытие» найдите книгу и нажмите кнопку «Изменить».

    Исправление неправиленной ссылки на книгу или другой документ Office

    Введите новое имя или расположение документа в поле «Изменить ссылки на текстовое поле» и нажмите кнопку «ОК».

Отключение автоматического обновления связанных данных

  1. Откройте книгу, которая содержит неверную связь.

  2. В меню Правка выберите пункт Связи.

    Если книга не содержит ссылок, команда «Ссылки» недоступна.

  3. В поле «Исходный файл» щелкните неправиленную ссылку, которую нужно исправить.

    Примечание: Чтобы исправить несколько ссылок, щелкните каждую из Клавиша COMMAND, удерживая нажатой Клавиша COMMAND.

  4. Нажмите Вручную.

Удаление неявной ссылки

При разрыве связи все формулы, ссылаясь на исходный файл, преобразуются в их текущее значение. Например, если формула =СУММ([Budget.xls]Годовой! C10:C25) — 45, после того как связь не будет нарушена, формула будет преобразована в 45.

  1. Откройте книгу, которая содержит неверную связь.

  2. В меню Правка выберите пункт Связи.

    Если книга не содержит ссылок, команда «Ссылки» недоступна.

  3. В поле «Исходный файл» щелкните ненужную ссылку, которую нужно удалить.

    Примечание: Чтобы удалить несколько ссылок, щелкните каждую из Клавиша COMMAND , удерживая нажатой кнопку мыши.

  4. Щелкните элемент Разорвать.

См. также

Импорт данных из файла в формате CSV, HTML или текстового файла

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Хитрости »

30 Декабрь 2018              81870 просмотров


Невозможно разорвать связи с другой книгой

Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в Excel и откуда они берутся. Если все это Вам известно — можете пропустить этот раздел :)

  • Что такое связи в Excel и как их создать
  • Как разорвать/удалить связи
  • Что делать, если связи не разрываются
Что такое связи в Excel и как их создать

Иногда при работе с различными отчетами приходится создавать связи с другими книгами(отчетами). Чаще всего это используется в функциях вроде ВПР(VLOOKUP) для получения данных по критерию из таблицы, расположенной в другой книге. Так же это может быть и простая ссылка на ячейки другой книги. В итоге ссылки в таких ячейках выглядят следующим образом:

=ВПР(A2;'[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)

или

='[Продажи 2018.xlsx]Отчет’!$A1

  • [Продажи 2018.xlsx] — обозначает книгу, в которой итоговое значение. Такие книги так же называют источниками
  • Отчет — имя листа в этой книге
  • $A:$F и $A1 — непосредственно ячейка или диапазон со значениями

Если закрыть книгу, на которую была создана такая ссылка, то ссылка сразу изменяется и принимает более «длинный» вид:
=ВПР(A2;’C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)
=’C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A1
Предположу, что большинство такими ссылками не удивишь. Такие ссылки так же принято называть связыванием книг. Поэтому как только создается такая ссылка на вкладке Данные(Data) в группе Запросы и подключения(Queries & Coonections) активируется кнопка Изменить связи(Edit Links). Там же, как несложно догадаться, их можно изменить. В большинстве случаев ни использование связей, ни их изменение не доставляет особых проблем. Даже если в книге источники были изменены значения ячеек, то при открытии книги со связью эти изменения будут так же автоматом обновлены. Но если книгу-источник переместили или переименовали — при следующем открытии книги со ссылками на неё Excel покажет сообщение о недоступных связях в книге и запрос на обновление этих ссылок:
Запрос на обновление связей
Если нажать Продолжить, то ссылки обновлены не будут и в ячейках будут оставлены значения на момент последнего сохранения. Происходит это потому, что ссылки хранятся внутри самой книги и так же там хранятся значения этих ссылок. Если же нажать Изменить связи(Change Source), то появится окно изменения связей, где можно будет выбрать каждую связь и указать правильное расположение нужного файла:
Изменение связей
Так же изменение связей доступно непосредственно из вкладки Данные(Data)


Как разорвать связи

Как правило связи редко нужны на продолжительное время, т.к. они неизбежно увеличивают размер файла, особенно, если связей много. Поэтому чаще всего связь создается только для единовременно получения данных из другой книги. Исключениями являются случаи, когда связи делаются на общий файл, который ежедневного изменяется и дополняется различными сотрудниками и подразделениями, а в итоговом файле необходимо использовать именно актуальные данные этого файла.
Если решили разорвать связь, необходимо перейти на вкладку

Данные(Data)

-группа

Запросы и подключения(Queries & Coonections)

Изменить связи(Edit Links)

:
Изменение связей
Выделить нужные связи и нажать

Разорвать связь(Break Link)

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

Правую кнопку мыши

Специальная вставка(Paste Special)

Значения(Values)

. Формулы в ячейках будут заменены результатами их вычислений, а все связи будут удалены.
Более подробно про замену формул значениями можно узнать из статьи: Как удалить в ячейке формулу, оставив значения?


Что делать, если связи не разрываются

Но иногда возникают ситуации, когда вроде все формулы во всех ячейках уже заменены на значения, но запрос на обновление каких-то связей все равно появляется. В этом случае есть парочка рекомендаций для поиска и удаления этих мифических связей:

  • проверьте нет ли каких-либо связей в именованных диапазонах:
    нажмите сочетание клавиш Ctrl+F3 или перейдите на вкладку Формулы(Formulas)Диспетчер имен(Name Manager)
    Читать подробнее про именованные диапазоны
    Если в каком-либо имени есть ссылка с полным путем к какой-то книге(вроде такого ‘[Продажи 2018.xlsx]Отчет’!$A1), то такое имя надо либо изменить, либо удалить. Кстати, некоторые имена в итоге могут выдавать ошибку #ССЫЛКА!(#REF!) — к ним тоже стоит присмотреться. Имена с ошибками ничего хорошего как правило не делают.
    Настоятельно рекомендую перед удалением имен создать резервную копию файла, т.к. неверное удаление таких имен может повлечь неправильную работу файла даже в случае, если сами ссылки возвращали в итоге ошибочное значение.
  • если удаление лишних имен не дает эффекта — проверьте условное форматирование:
    вкладка Главная(Home)Условное форматирование(Conditional formatting)Управление правилами(Manage Rules). В выпадающем списке проверить каждый лист и условия в нем:
    Редактировать правила в УФ
    Может случиться так, что условие было создано с использованием ссылки на другие книги. Как правило Excel запрещает это делать, но если ссылка будет внутри какого-то именованного диапазона — то диапазон такой можно будет применить в УФ, но после его удаления в самом УФ это имя все равно остается и генерирует ссылку на файл-источник. Такие условия можно удалять без сомнений — они все равно уже не выполняются как положено и лишь создают «пустую» связь.
  • Так же не помешает проверить наличие лишних ссылок и среди проверки данных(Что такое проверка данных). Как правило связи могут быть в проверке данных с типом Список. Но как их отыскать, если проверка данных распространена на множество ячеек?
    Находим все ячейки с проверкой данных: выделяем одну любую ячейку на листе -вкладка Главная(Home) -группа Редактирование(Editing)Найти и выделить(Find & Select)Выделить группу ячеек(Go to Special). Отмечаем Проверка данных(Data validation)Всех(All). Жмем Ок. После этого можно выделить все эти ячейки каким-либо цветом, чтобы удобнее было потом просматривать. Но такой метод выделит ВСЕ ячейки с проверками данных, а не только ошибочные.
    Конечно, если вариантов кроме как найти руками нет и ячеек немного – просто заходим в проверку данных каждой ячейки(выделяем эту ячейку -вкладка Данные(Data)Проверка данных(Data validation)) и смотрим, есть ли там проблемная формула со ссылками на другие книги.
    Можно поступить более кардинально – после того как выделили все ячейки с проверкой данных идем на вкладку Данные(Data)Проверка данных(Data validation) и для всех ячеек в поле Тип данных(Allow) выбираем Любое значение(Any value). Это удалит все формулы из проверки данных всех ячеек.
    Но если ни удаление всех проверок данных, ни проверка каждой ячейки не подходит — я предлагаю коротенький код, который отыщет все такие ссылки быстрее и сэкономит время:

    Option Explicit
    '---------------------------------------------------------------------------------------
    ' Author : The_Prist(Щербаков Дмитрий)
    '          Профессиональная разработка приложений для MS Office любой сложности
    '          Проведение тренингов по MS Excel
    '          https://www.excel-vba.ru
    '          info@excel-vba.ru
    '          WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
    ' Purpose:
    '---------------------------------------------------------------------------------------
    Sub FindErrLink()
        'надо посмотреть в Данные -Изменить связи ссылку на файл-иточник
        'и записать сюда ключевые слова в нижнем регистре(часть имени файла)
        'звездочка просто заменяет любое кол-во символов, чтобы не париться с точным названием
        Const sToFndLink$ = "*продажи 2018*"
     
        Dim rr As Range, rc As Range, rres As Range, s$
        'определяем все ячейки с проверкой данных
        On Error Resume Next
        Set rr = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation)
        If rr Is Nothing Then
            MsgBox "На активном листе нет ячеек с проверкой данных", vbInformation, "www.excel-vba.ru"
            Exit Sub
        End If
        On Error GoTo 0
        'проверяем каждую ячейку на предмет наличия связей
        For Each rc In rr
            'на всякий случай пропускаем ошибки - такое тоже может быть
            'но наши связи должны быть без них и они точно отыщутся
            s = ""
            On Error Resume Next
            s = rc.Validation.Formula1
            On Error GoTo 0
            'нашли - собираем все в отдельный диапазон
            If LCase(s) Like sToFndLink Then
                If rres Is Nothing Then
                    Set rres = rc
                Else
                    Set rres = Union(rc, rres)
                End If
            End If
        Next
        'если связь есть - выделяем все ячейки с такими проверками данных
        If Not rres Is Nothing Then
            rres.Select
    '        rres.Interior.Color = vbRed 'если надо выделить еще и цветом
        End If
    End Sub

    Чтобы правильно использовать приведенный код, необходимо скопировать текст кода выше, перейти в редактор VBA(Alt+F11) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего вызвать макросы(Alt+F8 или вкладка РазработчикМакросы), выбрать FindErrLink и нажать выполнить.
    Есть пара нюансов:

    • Прежде чем искать ненужную связь необходимо определить её ссылку: Данные(Data) -группа Запросы и подключения(Queries & Coonections)Изменить связи(Edit Links). Запомнить имя файла и записать в этой строке внутри кавычек:
      Const sToFndLink$ = «*продажи 2018*»
      Имя файла можно записать не полностью, все пробелы и другие символы можно заменить звездочкой дабы не ошибиться. Текст внутри кавычек должен быть в нижнем регистре. Например, на картинках выше есть связь с файлом «Продажи 2018.xlsx», но я внутри кода записал «*продажи 2018*» — будет найдена любая связь, в имени которой есть «продажи 2018».
    • Код ищет проверки данных только на активном листе
    • Код только выделяет все найденные ячейки(обычное выделение), он ничего сам не удаляет
    • Если надо подсветить ячейки цветом — достаточно убрать апостроф(‘) перед строкой
      rres.Interior.Color = vbRed ‘если надо выделить еще и цветом

Как правило после описанных выше действий лишних связей остаться не должно. Но если вдруг связи остались и найти Вы их никак не можете или по каким-то причинам разорвать связи не получается(например, лист со связью защищен)- можно пойти совершенно иным путем. Действует этот рецепт только для файлов новых форматов Excel 2007 и выше (если проблема с файлом более старого формата — можно пересохранить в новый формат):

  1. Обязательно делаем резервную копию файла, связи в котором никак не хотят разрываться
  2. Открываем файл при помощи любого архиватора(WinRAR отлично справляется, но это может быть и другой, работающий с форматом ZIP)
  3. В архиве перейти в папку xl -> externalLinks
  4. Сколько связей содержится в файле, столько файлов вида externalLink1.xml и будет внутри. Файлы просто пронумерованы и никаких сведений о том, к какому конкретному файлу относится эта связь на поверхности нет. Чтобы узнать какой файл .xml к какой связи относится надо зайти в папку «_rels» и открыть там каждый из имеющихся файлов вида externalLink1.xml.rels. Там и будет содержаться имя файла-источника.
  5. Если надо удалить только связь на конкретный файл — удаляем только те externalLink1.xml.rels и externalLink1.xml, которые относятся к нему. Если удалить надо все связи — удаляем все содержимое папки externalLinks
  6. Закрываем архив
  7. Открываем файл в Excel. Появится сообщение об ошибке вроде «Ошибка в части содержимого в Книге …». Соглашаемся. Появится еще одно окно с перечислением ошибочного содержимого. Нажимаем закрыть.

После этого связи должны быть удалены.
Если и это не помогло — скорее всего «битая» связь связана с ошибкой самого файла и лучшим решением будет перенести все данные в новый файл.

Так же см.:
Найти скрытые связи
Оптимизировать книгу


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Если при открытии книги Excel выдает диалоговое окно как на картинке, значит книга содержит ссылки (связи книг Excel). Возможно, произошел сбой, и Excel думает, что файл содержит ссылки. Как их удалить, чтобы каждый раз не появлялось надоедливое окно, как на картинке ниже?

связи книг Excel

Как удалить ошибки связи книг?

Чтобы избавиться от них нажмите группа Данные – раздел Подключения — Подключения. Это откроет окно Изменение связей. Затем для каждой ссылки нажмите Разорвать связь. Сохраните книгу и откройте ее заново. Обратите внимание на то, что, если книга не содержит ссылок, кнопка Изменить связи будет недоступна.

Существует хороший способ быстрого поиска ссылок на другой файл. Поскольку все ссылки содержат в себе квадратную скобку, то можно осуществить поиск ctrl+F символов «*[*». После чего удалить все такие ссылки.

Бывает что такие действия не ведут к решению проблемы, значит скорее всего битые ссылки вызваны неправильными именами связей. Такое может получиться, если вы копировали лист, а особенно если копировали лист из одного файла в другой. Пройдите по пути Формулы – раздел Определение имени — Диспетчер имен. связи книг Excel

Откроется окно  с одноименным названием. В случае, если в строке есть обозначение #ССЫЛКА!, удалите все такие строки.

связи книг Excel

Как удалить ошибки связи книг Excel макросом

Если и это не помогло, воспользуйтесь макросом. Как использовать макросы читайте тут.

Sub RepairHyperlinks()
    Dim hlink As hyperlink
    For Each hlink In ActiveSheet.Hyperlinks
        hlink.Address = Application.WorksheetFunction. _
           Substitute(hlink.Address, "../AppData/Roaming/Microsoft/Excel/", "<корректный адрес папки>")
    Next
End Sub 

Если есть вопросы пишите, пожалуйста, комментарии!

DwMan,в моей практике иногда наблюдалась подобная проблема, с чем это могло быть связано, я так и не понял, списал на очередной глюк Excel.

Для разрыва связей в подобном случае,я поступал следующим образом:
1. Сделать резервную копию файла на котором Вы будете ставить эксперименты
2.Открыть файл при помощи архиватора, я использовал для этих целей 7Zip, можно использовать любой другой
3.В архиве открыть папку xl
4.Далее открыть папку externalLinks
5.В зависимости от того, сколько у Вас ссылок на внешние файлы, в папке будут содержаться определенное количество файлов, у меня к примеру ссылка была на один файл, поэтому у меня в папке был только один файл externalLink1.xml. Если нужно удалить какую то конкретную связь, удалите соответствующий файл.
6. Удалить все имеющиеся файлы в папке externalLinks
7. Закрыть архив
8. Открыть файл Excel, в котором содержались ссылки на другие файлы. В процессе открытия появится сообщение об ошибке «Ошибка в части содержимого в Книге …». Отвечаем Да. После чего отобразится еще одно окно со списком нечитаемого содержимого. Нажимаем закрыть.
9. Проверяем, что на вкладке Данные, кнопка Изменить связи, стала неактивной — соответственно все связи из книги были удалены

Изменено: pinguindell13.01.2017 12:17:40

Разрыв связи с внешним ресурсом в Excel

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .

Когда разорвать связь в исходную книгу внешних ссылок, все формулы, используйте значение из поля в исходной книге преобразуются в свои текущие значения. Например, если разорвать связь с внешней ссылкой = сумм ([бюджет.xls] Годовой! C10: C25), формула СУММ заменяется вычисленное значение — объекты, которые могут быть. Кроме того поскольку этой действие нельзя отменить, рекомендуется сохранить версию конечной книги в качестве резервной копии.

Если вы используете диапазона внешних данных, параметра в запросе могут использовать данные из другой книги. Вы можете обнаружить и удалить любой из этих типов связей.

Разрыв связи

На вкладке Данные в группе Подключения нажмите кнопку Изменить связи.

Примечание: Отсутствие команды Изменить связи означает, что файл не содержит связанных данных.

В списке Источник выберите связь, которую требуется разорвать.

Для выделения нескольких связанных объектов, удерживайте нажатой клавишу CTRL и щелкните каждый связанный объект.

Чтобы выделить все связи, нажмите клавиши CTRL+A.

Щелкните элемент Разорвать.

Удаление имени определенной ссылки

Если ссылка используется определенный имя, имя автоматически не удаляется. Может потребоваться удалить имя также, выполнив следующие действия:

На вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.

В диалоговом окне Диспетчер имен щелкните имя, которое нужно изменить.

Щелкните имя, чтобы выделить его.

Нажмите кнопку Удалить.

Нажмите кнопку ОК.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.

Как разорвать связи в Excel

Описание проблемы

Когда в формуле вы указываете ссылку на другую книгу, то Excel образует с ней связь. Эта связь будет прекрасно работать и обновляться автоматически в том случае, когда открыты обе книги.

К сожалению, если книга-источник была удалена/перемещена или переименована, то связь нарушится. Также связь будет потеряна если вы переместите конечный файл (содержащий ссылку). Если вы передадите только конечный файл по почте, то получатель тоже не сможет обновить связи.

При нарушении связи, ячейки со ссылками на другие книги будут содержать ошибки #ССЫЛКА.

Как разорвать связь

Один из способов решения данной проблемы — разрыв связи. Если в файле только одна связь, то сделать это довольно просто:

  1. Перейдите на вкладку Данные.
  2. Выберите команду Изменить связи в разделе Подключения.
  3. Нажмите Разорвать связь.

ВАЖНО! При разрыве связи все формулы ссылающиеся на книгу-источник будут преобразованы в значения! Отмена данной операции невозможна!

Как разорвать связь со всеми книгами

Для удобства, можно воспользоваться макросом, который разорвет связи со всеми книгами. Макрос входит в состав надстройки VBA-Excel. Чтобы им воспользоваться необходимо:

  1. Перейти на вкладку VBA-Excel.
  2. В меню Связи выбрать команду Разорвать все связи.

Код на VBA

Код макроса удаляющего все связи с книгой представлен ниже. Можете скопировать его в свой проект.

Как разорваться связи только в выделенном диапазоне

Иногда в книге имеется много связей и есть опасения, что при удалении связи можно удалить лишнюю. Чтобы этого избежать с помощью надстройки можно удалить связи только в выделенном диапазоне. Для этого:

  1. Выделите диапазон данных.
  2. Перейдите на вкладку VBA-Excel (доступна после установки).
  3. В меню Связи выберите команду Разорвать связи в выделенных ячейках.

Невозможно разорвать связи с другой книгой

Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в Excel и откуда они берутся. Если все это Вам известно — можете пропустить этот раздел 🙂

Что такое связи в Excel и как их создать
Иногда при работе с различными отчетами приходится создавать связи с другими книгами(отчетами). Чаще всего это используется в функциях вроде ВПР (VLOOKUP) для получения данных по критерию из таблицы, расположенной в другой книге. Так же это может быть и простая ссылка на ячейки другой книги. В итоге ссылки в таких ячейках выглядят следующим образом:
=ВПР( A2 ;'[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)
или
‘[Продажи 2018.xlsx]Отчет’!$A1

  • [Продажи 2018.xlsx] — обозначает книгу, в которой итоговое значение. Такие книги так же называют источниками
  • Отчет — имя листа в этой книге
  • $A:$F и $A1 — непосредственно ячейка или диапазон со значениями

Если закрыть книгу, на которую была создана такая ссылка, то ссылка сразу изменяется и принимает более «длинный» вид:
=ВПР( A2 ;’C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A:$F;4;0)
‘C:UsersДмитрийDesktop[Продажи 2018.xlsx]Отчет’!$A1
Предположу, что большинство такими ссылками не удивишь. Такие ссылки так же принято называть связыванием книг. Поэтому как только создается такая ссылка на вкладке Данные в группе Запросы и подключения активируется кнопка Изменить связи. Там же, как несложно догадаться, их можно изменить. В большинстве случаев ни использование связей, ни их изменение не доставляет особых проблем. Даже если в книге источники были изменены значения ячеек, то при открытии книги со связью эти изменения будут так же автоматом обновлены. Но если книгу-источник переместили или переименовали — при следующем открытии книги со ссылками на неё Excel покажет сообщение о недоступных связях в книге и запрос на обновление этих ссылок:

Если нажать Продолжить, то ссылки обновлены не будут и в ячейках будут оставлены значения на момент последнего сохранения. Происходит это потому, что ссылки хранятся внутри самой книги и так же там хранятся значения этих ссылок. Если же нажать Изменить связи, то появится окно изменения связей, где можно будет выбрать каждую связь и указать правильное расположение нужного файла:

Так же изменение связей доступно непосредственно из вкладки Данные

Как разорвать связи
Как правило связи редко нужны на продолжительное время, т.к. они неизбежно увеличивают размер файла, особенно, если связей много. Исключениями являются случаи, когда связи делаются на некие общие файлы, расположенные на сетевом диске и заполняемые разными подразделениями, а в итоговый файл связями просто забираются конкретные значения из этого файла. Чтобы разорвать связи необходимо перейти на вкладку Данные -группа Данные и подключения -Изменить связи:

Выделить нужные связи и нажать Разорвать связь. При этом все ячейки с формулами, содержащими связи, будут преобразованы в значения вычисленные этой формулой при последнем обновлении. Данное действие нельзя будет отменить — только закрытием книги без сохранения.
Так же связи внутри формул разрываются, если формулы просто заменить значениями -Копируем нужные ячейки -Правая кнопка мыши -Специальная вставка -Значения. Формулы в ячейках будут заменены результатами их вычислений, а все связи будут удалены.
Более подробно про замену формул значениями можно узнать из статьи: Как удалить в ячейке формулу, оставив значения?

Что делать, если связи не разрываются

Но иногда возникают ситуации, когда вроде все формулы во всех ячейках уже заменены на значения, но запрос на обновление каких-то связей все равно появляется. В этом случае есть парочка рекомендаций для поиска и удаления этих мифических связей:

  • проверьте нет ли каких-либо связей в именованных диапазонах:
    нажмите сочетание клавиш Ctrl + F3 или перейдите на вкладку Формулы (Formulas)Диспетчер имен (Name Manager)
    Читать подробнее про именованные диапазоны
    Если в каком-либо имени есть ссылка с полным путем к какой-то книге(вроде такого ‘[Продажи 2018.xlsx]Отчет’!$A1 ), то такое имя надо либо изменить, либо удалить. Кстати, некоторые имена в итоге могут выдавать ошибку #ССЫЛКА! (#REF!) . К ним тоже стоит присмотреться.
    Настоятельно рекомендую перед удалением имен создать резервную копию файла, т.к. неверное удаление таких имен может повлечь неправильную работу файла даже в случае, если сами ссылки возвращали в итоге ошибочное значение.
  • если удаление лишних имен не дает эффекта — проверьте условное форматирование:
    вкладка Главная (Home)Условное форматирование (Conditional formatting)Управление правилами (Manage Rules) . В выпадающем списке проверить каждый лист и условия в нем:

    Может случиться так, что условие было создано с использованием ссылки на другие книги. Как правило Excel запрещает это делать, но если ссылка будет внутри какого-то именованного диапазона — то диапазон такой можно будет применить в УФ, но после его удаления в самом УФ это имя все равно остается и генерирует ссылку на файл-источник. Такие условия можно удалять без сомнений — они все равно уже не выполняются как положено и лишь создают «пустую» связь.
  • Так же не помешает проверить наличие лишних ссылок и среди проверки данных(Что такое проверка данных). Как правило связи могут быть в проверке данных с типом Список. Но как их отыскать, если проверка данных распространена на множество ячеек? Проверять каждую? Это очень долго. Поэтому я предлагаю коротенький код, который отыщет все такие ссылки быстрее и сэкономит время):

Option Explicit ‘————————————————————————————— ‘ Author : The_Prist(Щербаков Дмитрий) ‘ Профессиональная разработка приложений для MS Office любой сложности ‘ Проведение тренингов по MS Excel ‘ https://www.excel-vba.ru ‘ info@excel-vba.ru ‘ WebMoney — R298726502453; Яндекс.Деньги — 41001332272872 ‘ Purpose: ‘————————————————————————————— Sub FindErrLink() ‘надо посмотреть в Данные -Изменить связи ссылку на файл-иточник ‘и записать сюда ключевые слова в нижнем регистре(часть имени файла) ‘звездочка просто заменяет любое кол-во символов, чтобы не париться с точным названием Const sToFndLink$ = «*продажи 2018*» Dim rr As Range, rc As Range, rres As Range, s$ ‘определяем все ячейки с проверкой данных On Error Resume Next Set rr = ActiveSheet.UsedRange.SpecialCells(xlCellTypeAllValidation) If rr Is Nothing Then MsgBox «На активном листе нет ячеек с проверкой данных», vbInformation, «www.excel-vba.ru» Exit Sub End If On Error GoTo 0 ‘проверяем каждую ячейку на предмет наличия связей For Each rc In rr ‘на всякий случай пропускаем ошибки — такое тоже может быть ‘но наши связи должны быть без них и они точно отыщутся s = «» On Error Resume Next s = rc.Validation.Formula1 On Error GoTo 0 ‘нашли — собираем все в отдельный диапазон If LCase(s) Like sToFndLink Then If rres Is Nothing Then Set rres = rc Else Set rres = Union(rc, rres) End If End If Next ‘если связь есть — выделяем все ячейки с такими проверками данных If Not rres Is Nothing Then rres.Select ‘ rres.Interior.Color = vbRed ‘если надо выделить еще и цветом End If End Sub

Чтобы правильно использовать приведенный код, необходимо скопировать текст кода выше, перейти в редактор VBA( Alt + F11 ) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего вызвать макросы( Alt + F8 ), выбрать FindErrLink и нажать выполнить.
Есть пара нюансов:
1. Прежде чем искать ненужную связь необходимо определить её ссылку: Данные -Изменить связи. Запомнить имя файла и записать в этой строке внутри кавычек:
Const sToFndLink$ = «*продажи 2018*»
Имя файла можно записать не полностью, все пробелы и другие символы можно заменить звездочкой дабы не ошибиться. Текст внутри кавычек должен быть в нижнем регистре. Например, на картинках выше есть связь с файлом «Продажи 2018.xlsx», но я внутри кода записал «*продажи 2018*» — будет найдена любая связь, в имени которой есть «продажи 2018».
2. Код ищет проверки данных только на активном листе
3. Код только выделяет все найденные ячейки(обычное выделение), он ничего сам не удаляет.
4. Если надо подсветить ячейки цветом — достаточно убрать апостроф(‘) перед строкой
rres.Interior.Color = vbRed ‘если надо выделить еще и цветом

Как правило после описанных выше действий лишних связей остаться не должно. Но если вдруг связи остались и найти Вы их никак не можете или по каким-то причинам разорвать связи не получается(например, лист со связью защищен)- можно пойти совершенно иным путем. Действует этот рецепт только для файлов новых форматов Excel 2007 и выше:
1. Обязательно делаем резервную копию файла, связи в котором никак не хотят разрываться
2. Открываем файл при помощи любого архиватора(WinRAR отлично справляется, но это может быть и другой, работающий с форматом ZIP)
3. В архиве перейти в папку xl -> externalLinks
4. Сколько связей содержится в файле, столько файлов вида externalLink1.xml и будет внутри. Файлы просто пронумерованы и никаких сведений о том, к какому конкретному файлу относится эта связь на поверхности нет. Чтобы узнать какой файл .xml к какой связи относится надо зайти в папку «_rels» и открыть там каждый из имеющихся файлов вида externalLink1.xml.rels. Там и будет содержаться имя файла-источника.
5. Если надо удалить только связь на конкретный файл — удаляем только те externalLink1.xml.rels и externalLink1.xml, которые относятся к нему. Если удалить надо все связи — удаляем все содержимое папки externalLinks
6. Закрываем архив
7. Открываем файл в Excel. Появится сообщение об ошибке вроде «Ошибка в части содержимого в Книге . «. Соглашаемся. Появится еще одно окно с перечислением ошибочного содержимого. Нажимаем закрыть.

После этого связи должны быть удалены.

Статья помогла? Поделись ссылкой с друзьями!

Не удается разорвать связь excel на разорванное соединение

У меня есть файл, и я не могу найти, где соединение. Я должен смотреть в следующих местах:

  • Данные>>Подключения
  • Условное форматирование
  • ищет «[» и «.xl»
  • проверка данных, но нет
  • все источники данных сводных таблиц проверены
  • именованные диапазоны
  • файл >> информация >> документы

любые другие предложения, которые я могу использовать, чтобы найти, где находится эта ссылка?

фото сообщения об ошибке:

ответ из другой темы (опубликовал wiki сообщества).

вот решение, которое было очень надежным для меня:

  1. измените расширение файла .xlsx-файл В.zip
  2. распакуйте архив в новую папку
  3. элемент списка с помощью проводника в этой папке найдите имя в содержимом файла.

Примечание: иногда имя пишется в формате URL, например, %20 вместо пробелы, поэтому можно использовать упрощенную строку, которая находится только в проблемном файле. Я использовал последнее слово имени файла + .xlsx.

Это, вероятно, вернет sheetN.xml в результате. Это файл, соответствующий вашему проблемному листу, где N-номер проблемного листа в порядке их отображения. Откройте его в текстовом редакторе, например в блокноте.

найдите строку поиска и посмотрите на код вокруг нее; это должно указывать на некоторые ссылки на ячейки, которые можно найти на проблемном листе.

Примечание: как указывалось ранее, он также может быть в условном форматировании или проверке данных.

Трюк №13. Удаление несуществующих ссылок на книги Excel

О, несуществующие ссылки! Вы открываете рабочую книгу и видите сообщение с просьбой обновить ссылки — но у вас нет никаких ссылок! Как же можно обновить то, что не существует?

Внешние ссылки — это ссылки, указывающие на другие книги. Непредвиденные внешние ссылки могут появиться по различным причинам, начиная от перемещения или копирования диаграмм, листов диаграмм или рабочих листов в другую рабочую книгу. Но знание того, что внешние ссылки существуют, не всегда помогает найти их. Вот несколько способов расправиться с проблемой несуществующих ссылок.

Сначала необходимо узнать, присутствуют ли в книге реальные внешние ссылки (существующие), о которых вы просто забыли. Если вы не уверены, есть ли такие, начните с поиска в самом очевидном месте — в формулах. Для этого удостоверьтесь, что никакие другие книги не открыты и выполните поиск по ключевой фразе [*] в формулах на всех листах. Закройте все остальные книги, чтобы гарантировать, что все ссылки в формулах будут содержать [*], где звездочка представляет собой символ шаблона.

Когда вы удостоверитесь, что в формулах ссылок нет, нужно будет убедиться, что допустимые ссылки не прячутся где-либо еще. Для этого нужно начать из глубины книги Excel, содержащей несуществующие ссылки. Выберите команду Вставка → Имя → Присвоить (Insert → Name → Define). Пролистайте список имен, щелкая и выделяя их по очереди и просматривая формулу в поле Формула (Refers to) внизу. Удостоверьтесь, что ни одно из имен не ссылается на другую рабочую книгу.

Другой возможный источник ссылок — это ваши диаграммы. У них может проявиться та же проблема, которую мы только что рассматривали. Необходимо проверить, что все диапазоны данных и метки оси X (X-axis) диаграммы не ссылаются на внешние книги. И снова вам решать, являются ли найденные ссылки правильными.

Ссылки скрываются и в объектах, например, текстовых полях, автофигурах и т. д. Объекты могут ссылаться на внешние рабочие книги. Самый простой способ найти объекты — выбрать любую ячейку на листе и затем выбрать команду Правка → Перейти (Edit → Go To). В диалоговом окне Переход (Go To) щелкните на кнопке Выделить (Special), установите флажок Объекты (Objects) и щелкните на кнопке ОК. Будут выбраны все объекты на листе. Это необходимо выполнять на копии вашей рабочей книги. Когда все объекты будут выделены, вы сможете удалить, сохранить, закрыть и снова открыть вашу копию, чтобы проверить, решена ли проблема.

И, наконец, последнее неочевидное место, где можно найти реальные ссылки — это скрытые листы, которые вы могли создать и забыть о них. Отобразите такие листы, выбрав команду Формат → Лист → Отобразить (Format → Sheet → Unhide). Если пункт Отобразить (Unhide) во вложенном меню Лист (Sheet) неактивен, это означает, что у вас нет скрытых листов. (Если вы уверены, что в книге есть листы, не появляющиеся в этом меню, обратитесь за подробностями к разделу «Трюк № 5. Как скрыть лист, чтобы его невозможно было отобразить».)

Теперь, когда вы устранили возможность появления реальных ссылок, настало время удалить несуществующие. Откройте рабочую книгу с несуществующими ссылками и выберите команду Правка → Связи (Edit → Links). Иногда можно просто выделить ненужную ссылку, щелкнуть кнопку Изменить (Change Source) и связать ссылку с самой собой. Но чаще всего появляется сообщение, что одна из формул содержит ошибку, и это сделать невозможно.

Если применить простой способ невозможно, обратите внимание, к чему, по мнению Excel, привязана ссылка (мы будем называть эту книгу хорошей книгой).

Создайте настоящую связь между двумя книгами, открыв обе. Перейдите к проблемной книге и в любой ячейке любого листа введите =. Теперь щелкните любую ячейку в хорошей книге и нажмите клавишу Enter, чтобы создать настоящую внешнюю ссылку на другую книгу. Сохраните обе книги, но не закрывайте их. В книге с несуществующими ссылками выберите команду Правка → Связи (Edit → Links) и щелкните кнопку Изменить (Change Source), чтобы увидеть все ссылки на новую рабочую книгу, с которой вы только что намеренно создали новую связь. Снова сохраните вашу рабочую книгу и удалите ячейку, в которой создали настоящую внешнюю ссылку. И еще раз сохраните файл.

При этом часто исчезает ненужная несуществующая ссылка, так как Excel, наконец, понимает, что вы удалили внешнюю ссылку на книгу. Если проблема, однако, не решена, попробуйте выполнить следующее, но сначала сохраните копию книги.

Мы продолжаем, предполагая, что эта техника у вас сработала. Вот что следует сделать далее. Откройте копию вашей рабочей книги (ту, которая содержит все данные) и сделайте еще одну копию. Вы будете работать с проблемным листом (или листами) и выполнять процесс удаления, чтобы обнаружить, где на листе прячется проблема.

Открыв проблемный лист, выделите некоторый диапазон ячеек (область приблизительно 10 х 10 ячеек) и затем выберите команду Правка → Очистить → Все (Edit → Clear → All). (Вы уверены, что сохранили копию книги?) Сохраните, закройте и заново откройте лист. Если приглашение обновить ссылки не появилось, вы нашли проблему, и теперь необходимо переделать этот блок ячеек. Если приглашение открылось, продолжайте очищать ячейки, пока при очередном открытии приглашение не будет выведено. После этого измените проблемные ячейки.

Мы надеемся, что эти приемы сэкономят ваше рабочее время и нервы, которые тратятся на эти несчастные несуществующие ссылки в рабочих книгах. Это не самые простые и приятные решения, но они позволят забыть о проблемах.

Понравилась статья? Поделить с друзьями:
  • Экскаватор комацу ошибка е15 са428
  • Эксель произошла ошибка во время последнего запуска
  • Эксель проверка на ошибку
  • Экскаватор комацу pc400 ошибка е15
  • Эксель при вычислении источник возникает ошибка