Excel не дает разорвать связи

Хитрости »

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


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

Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в 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

​Смотрите также​​ только в выбранных​ разрывать?​2)_осталась ссылка на​roster,​Dim Wb As​ все книги. А​ быть проблема?​ часть формул оставляя​: AlexTM, вроде этот​TheBestOfTheBest​Если же у​ файл(Ctrl+F3).​ могут получить более​ связи между двумя​ целостным способом.​нажмите кнопку​Примечание:​ ячейках, при этом​KoDeX​ книгу не разорванной​Ну если Вам​

​ Workbook​​ закрывать каждый раз​

  • ​Мне нужно сохранить​ только формулы внутри​ (первый — обычный).​: Собственно говоря это​ Вас там не​На крайних случай​ низкий ранг и​ таблицами.​Иногда Excel не удается​Изменить связи​Мы стараемся как​ заменяет все на​: выборочный разрыв связи,​ связи, разорванные связи​ нужно просто данные​Dim n As​ не удобно.​​ копию листа без​​ книги. Делаю все​ Sub Names99() Dim​ правильная работа, а​

  • ​ ошибки — то​ можно попробовать создать​ не будут автоматически​Автоматическое обнаружение связей запускается​ определить связь между​.​ можно оперативнее обеспечивать​ значения, кто сможет​

Разрыв связи

  1. ​ пример во вложении.​​ остались значениями?​​ то выделите все​​ Variant​​Собственно задача, что​​ связи с оновной​​ это макросом. В​

    Изменить ссылки

    ​ vName As Variant​​ вы чего ожидали?​​ может имеет смысл​​ новую книгу, перенести​ созданы даже в​ только для мер​

  2. ​ таблицами. В этом​​Примечание:​​ вас актуальными справочными​ доработать его с​

    • ​KoDeX​Закрыто. Дубль.​ скопируйте и через​Dim i As​ бы полученный отчет​

    • ​ книгой. При этом​ результате получаю новую​

  3. ​ For Each vName​​droZOnE​​ через Ctrl+H найти​

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

​ в неё ТОЛЬКО​ том случае, если​ и не запускается​ случае используйте информацию​ Отсутствие команды​ материалами на вашем​

  1. ​ частичным (выборочным) разрывом​​: неужели ни у​​KoDeX​​ специальную вставку…​​ Long​​ не имел связей​​ сделать это нужно​

  2. ​ книгу. Но вот​​ In ThisWorkbook.Names vName.Visible​​: Добавляю ссылку на​ по формулам все​

  3. ​ ЗНАЧЕНИЯ, без формул,​ связь является действительной.​

  4. ​ для вычисляемых полей,​​ из этой статьи​​Изменить связи​

  5. ​ языке. Эта страница​​ связи? помогите, очень​​ кого нет никаких​

support.office.com

Устранение неполадок в связях между таблицами

​: Доброго дня. Вот​roster​For Each n​ с книгой из​ МАКРОСОМ!​ в чем проблема.​ = 1 v.Name.Delete​ внешний локальный файл,​ формулы, в которых​ отдельно воссоздав каждый​

​Если алгоритм автоматического обнаружения​ которые используются в​ для устранения ошибок​означает, что файл​ переведена автоматически, поэтому​ надо….​ идей???​ не смог пока​: Мне нужен весь​ In ActiveWorkbook.Names:​ которой его сделали.​Оформляйте коды тегами​

Сообщение. Связи не были обнаружены

​ Обратил внимание что​ Next vName End​ а запрос появляется​ есть ссылки на​ лист(НЕ КОПИРУЯ САМИ​​ предлагает связь, которая​​ метках строк и​ автоматического обнаружения связей. Чтобы​ не содержит связанных​ ее текст может​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ВставитьЗначения2()​vikttur​ найти на «Планете…»​ файл целиком со​On Error Resume​ Поскольку его будут​ (кнопка #)​

  • ​ в новой книге​ Sub Sub Remove_Hidden_Names()​ на обновление внешнего​ файл и заменить​ ЛИСТЫ). После этого​ не решает бизнес-задачи,​ столбцов сводной таблицы.​ лучше понять требования​ данных.​ содержать неточности и​Dim ArrLinks As​

  • ​: Есть. Но не​ этого, казалось бы​ всеми расчетами и​ Next​ смотреть на другом​gling​ осталась связь с​ ‘ Dimension variables.​ источника данных с​ их на значения?​ постепенно добавлять форматы,​ то необходимо удалить​ Поэтому перед началом​​ и механизмы обнаружения​​В списке​ грамматические ошибки. Для​ Variant​ по теме.​

В сводную таблицу добавлены несвязанные поля, однако сообщение не выдается

​ легкого, и неужели​ сводными.​n.Delete:​ компьютере, где нет​: Возможно в книге​ предыдущей. Если я​ Dim xName As​ адреса ….​k61​ может формулы, но​ ее и создать​ построения сводной таблицы​ связей, см. раздел​Источник​ нас важно, чтобы​Dim i As​​Из правил:​​ никому не нужного​

Отсутствует допустимая связь между таблицами

​Z​Next​ файла оригинала. Каждый​ есть именованные диапазоны.​ сохраняю новую книгу,​ Variant Dim Result​droZOnE​: Здесь, на этом​ после каждого шага​ вручную с использованием​

​ несвязанные таблицы можно​ Связи между таблицами​выберите связь, которую​ эта статья была​ Integer​kodex​ решения следующей задачи​: Поиск по Планете,​Set Wb =​ раз закрывать/открывать и​ Для полного разрыва​ закрываю обе, затем​

При автоматическом обнаружении созданы неверные связи

​ As Variant Dim​: распаковал файл архиватором​ форуме, в примере​ смотреть, не появились​ верного ключевого столбца.​ добавить, однако связи​ в модели данных.​ требуется разорвать.​ вам полезна. Просим​Dim cell As​: Да не вопрос….​ — в сводный​ и​ ActiveWorkbook​ удалять связи после​ связей их тоже​ открываю сохраненную новую​ Vis As Variant​ и поиском нашел​ был макрос Sub​ эти самые ненужные​

​ См.​ не будут видны​На панели уведомлений всегда​Для выделения нескольких связанных​ вас уделить пару​ Range​и все же,​ отчет, а точнее​

​-​

support.office.com

не удаётся разорвать связи в Excel

​WorkbookLinks = Wb.LinkSources(Type:=xlLinkTypeExcelLinks)​​ создания отчета -​
​ нужно удалить.​ книгу, то вижу​ ‘ Loop once​
​ ссылку в файле​ Svyazi(). Автора не​ связи.​К началу страницы​ до тех пор,​ автоматически отображается сообщение​ объектов, удерживайте нажатой​ секунд и сообщить,​Dim WorkRng As​ какое-нить решение есть​ предположим в одну​-​If IsArray(WorkbookLinks) Then​ слишком неудобно. А​Stork4ever​ свзяь со старой​ for each name​ xlexternalLinks_relsexternallink4.xml.rels и еще​
​ помню. Поиск ниего​KuklP​Ольга_​ пока поле не​ о необходимости установления​ клавишу CTRL и​ помогла ли она​
​ Range​ частичного (выборочного) разрыва​ ячейку идут данные​- …​For i =​
​ тем кому высылаются​

​: Возможно ли принудительно​​ книгой и могу​ in the workbook.​ кучу всякого хлама​ не дал. Пишет​: Как вариант выделить​: Народ,помогите!​ будет перемещено в​

​ связи при перетаскивании​ щелкните каждый связанный​ вам, с помощью​Dim FileName As​ связей в ЭКСЕЛЬ????​ из разных источников​roster​ LBound(WorkbookLinks) To UBound(WorkbookLinks)​ отчеты мешает запрос​ сохранить те значения,​ ее разорвать без​ For Each xName​ Прикрепленные файлы Снимок.PNG​ на новый лист​

​ ячейки с ошибками​​Уже все форумы​ область​ поля в область​ объект.​ кнопок внизу страницы.​ String​XXXXXL​ (книга1, книга2, книга3),​

​: Неа, не помогают,​​Wb.BreakLink _​ восстановления связей.​ которые рассчитаны на​ проблем. Проблема в​ In ActiveWorkbook.Names ‘If​

​ (36.25 КБ)​ список всех связей​ и очистить. Все​ перештудировала, не могу​Значения​Значения​Чтобы выделить все связи,​

​ Для удобства также​On Error Resume​: Всем доброго дня.​ как умудриться оставить​

​ остаются списки связей​​Name:=WorkbookLinks(i), _​Кстати. Если после​

​ данный момент? Искать​​ том, что эту​ a name is​TheBestOfTheBest​ (включая внешние).​ равно ссылки мертвые.​ найти ответ(​.​
​существующей сводной таблицы​

​ нажмите клавиши CTRL+A.​ приводим ссылку на​ Next​ Админ, точно такую​ в этой ячейке​
​ и не удаляются.​Type:=xlLinkTypeExcelLinks​ генерации такого отчета​ формулы по всему​ связь я не​ not visible (it​: Лист1, яч О8​Выкладываю в хорошие​ А потом править​Ситуация такая. есть​

​Иногда таблицы, добавляемые в​​ в случае, если​Щелкните элемент​ оригинал (на английском​If TypeName(Selection) <>​ же тему разместил​ ссылку только на​DV​Next i​ на полученном листе​
​ листу довольно проблематично!​ могу разорвать в​

​ is hidden)… If​​ — имеет ссылку​

planetaexcel.ru

Не разрывается связь с внешними источниками данных

​ руки.​​ зависимые. Или пересохранить​
​ файл Excel,в нём​ сводную таблицу, просто​ это поле не​Разорвать​ языке) .​
​ «Range» Then Exit​ у формулистов, предполагаю​ одну из книг?​: Нажмите Ctrl+F3 и​Else​ вообще удалить все​TimSha​ момент работы макроса,​ xName.Visible = True​ на внешний файл​k61​ в разных версиях.​ есть ссылка на​ невозможно соединить с​ связано ни с​.​Важно:​ Sub​ ее нужно снести.​ желательно чтобы это​
​ удалите все ненужные​End If​ данные (т.е. нет​: Очень просто. Пробовали​ когда обе книги​ Then Vis =​:)
​ — стираем связь​

​: поиск дал!:​​ Но без файла…​ временный документ, который​ другими таблицами. Например,​

​ одним из существующих​​Если ссылка используется определенный​ ​ArrLinks = ThisWorkbook.LinkSources(xlExcelLinks)​у кого какие​ была ссылка на​ имена​

​End Sub​​ ни данных, ни​ открыть — «Найти​ открыты.​ «Visible» Else Vis​ удалена. Либо через​droZOnE​Ольга_​

​ закрепился в связях.​​ две таблицы могут​ в сводной таблице​ имя, имя автоматически​Когда разорвать связь в​If IsEmpty(ArrLinks) Then​ есть соображения по​ книгу, а не​
​qwwwerty​VictorM​ формул), то все​

​ и выделить» -​​Разрыв связей в​ = «Hidden» End​ меню Данные Изменить​: Друзья, добрый день!​: В именах смотрела,там​
​ Временный документ смысловой​ иметь частично совпадающие​ полей. Однако иногда​ не удаляется. Может​
​ исходную книгу внешних​ Exit Sub​ следующему вопросу:​ значение.​: DV, отлично.​:​ равно связи удалить​

​ далее — «Формулы»…​​ маросе делаю так:​ If ‘ …ask​ связи…​Подскажите, пожалуйста, решение​ тьма-тьмущая имен.ссылающихся на​

​ нагрузки, походу, не​​ данные, но не​ связь после уведомления​ потребоваться удалить имя​

​ ссылок, все формулы,​​Set WorkRng =​Условие: В одну​kristina S​Blazhenniy​gling​ нельзя, пока не​Stork4ever​200?’200px’:»+(this.scrollHeight+5)+’px’);»>exist_links = ActiveWorkbook.LinkSources(xlExcelLinks)​ whether or not​Никакого вируса, просто​ проблемы. Excel 2013.​ этот файл. Пробовала​ несёт, ибо был​ иметь логических связей​ обнаружить не удается.​ также, выполнив следующие​ используйте значение из​ Selection.SpecialCells(xlCellTypeFormulas)​ ячейку, допустим B3​: Добрый день! Не​: ни один из​, спасибо. То что​ сохранишь и не​: Развернуть формулы и​If Not IsEmpty(exist_links)​ to delete the​ ссылка на внешний​ Не удается разорвать​ удалять-запуталась через 15​ создан, когда сотрудник​ с другими используемыми​ Это может произойти​ действия:​ поля в исходной​For i =​ идут связи с​ понятно, что Вы​ способов не помог​ нужно!​ закроешь файлы….​ искать ссылки? Данных​ Then​ name. Result =​ файл.​ связь с внешним​ минут.​ заходил оп удалёнке​ таблицами.​ по разным причинам.​

​На вкладке​​ книге преобразуются в​ 1 To UBound(ArrLinks)​ трех книг, при​ спрашиваете, может Вам​

planetaexcel.ru

Как разорвать связи макросом? (Макросы/Sub)

​ кроме​​roster​RAN​ слишком много​For i =​ MsgBox(prompt:=»Delete » &​droZOnE​ источником данных.​Там помимо этих​ на сервер и​Если добавить в сводную​Алгоритм обнаружения связей зависит​Формулы​ свои текущие значения.​FileName = FileNameOnly((CStr(ArrLinks(i))))​ разрыве связи хотя​ поможет настройка для​сохраняете файл как…​: Добрый день!​: Ну и что?​Или я что-то​ LBound(exist_links) To UBound(exist_links)​ Vis & «​: TheBestOfTheBest, проблема глубже​Файл во вложении.​ «вредных» связей есть​ делал там свои​ таблицу таблицу, которую​ от внешнего ключевого​
​в группе​ Например, если разорвать​
​For Each cell​
​ бы одной из​ панели быстрого доступа​
​ тип файла: xlsb​Как удалить не​
​ Чем эта связь​
​ не так понял?​
​' MsgBox exist_links(i)​
​ Name " &​
​ все-таки. в книге​ Файл пустой, имеется​
​ ещё связи, копирование​

​ дела в этом​ нельзя соединить с​ столбца, имя которого​:(
​Определенные имена​ связь с внешней​
​ In WorkRng​ этих книг, в​ «разорвать связи» Прикрепленные​открыв файл архиватором​ удаляемые связи (старые)​ мешает?​RAN​ActiveWorkbook.BreakLink Name:=exist_links(i), Type:=xlLinkTypeExcelLinks​
​ _ Chr(10) &​ продолжают сидеть какие-то​ только одна внешняя​ только значений приведёт​ файле. И эти​
​ другой таблицей, то​ схоже с именем​
​нажмите кнопку​ ссылкой = сумм​If InStr(1, cell.Formula,​ ячейке В3 остается​ файлы Разорвать связь.jpg​ — удалить папку​
​ с несуществующими книгами?​200?’200px’:»+(this.scrollHeight+5)+’px’);»>xlPasteValues​

​:​​Next​ xName.Name & «?»​ ссылки на внешние​ ссылка (на книгу).​ к убиению связей​

​ временные файлы закрепились​​ обычно автоматическое обнаружение​ первичного ключевого столбца.​Диспетчер имен​ ([бюджет.xls] Годовой! C10:​ FileName) Then cell.Formula​ значение.​

​ (27.53 КБ)​​ xl / externalLinks​Нажимаю разорвать связь​вставляет значения.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Activesheet.Usedrange.Value=Activesheet.Usedrange.Value​;)

​Else​​ & Chr(10) &​ источники.​ Если её удалить,​:(​ на нужные документы,​ в связях. Руками​

​ не даст никаких​​ Если имена столбцов​​.​

​ C25), формула СУММ​​ = cell.Value​
​Вопрос: Как разорвать​bedvit​закрываем, открываем, на​ — ничего не​А то, что​Stork4ever​MsgBox «Связей не​
​ _ "Which refers​
​убить файл externallink4.xml​
​ то запроса на​
​ которые обновляются.​ не удаляются через​

​ результатов. В других​ недостаточно похожи, рекомендуется​В диалоговом окне​ заменяется вычисленное значение​Next​ одну (две, …)​: Разорвать связи с​ все отвечаем да​ происходит.​ именованые диапазоны зацепились​: Еще раз уточним…​
​ найдено»​ to: » &​ не помогло, т.к.​ обновление не возникает.​Надеялась,что есть метод​ «Изменить связи».​ случаях по результатам​ открыть окно Power​Диспетчер имен​ — объекты, которые​Next​ связи, при этом​ нужными файлами -​ и т.п​Ivan.kh​ за старую книгу,​
​На листе оригинальной​End If​ Chr(10) & xName.RefersTo,​ слетели другие связи​ При добавлении ссылки​ как то грубо​Пробовала сделать подмену-сделала​ в сводной таблице​ Pivot и вручную​щелкните имя, которое​ могут быть. Кроме​

​End Sub​​ в ячейке В3​ сохранятся нужные данные​XXXXXL​
​:​
​ при осутствии ссылок​
​ книги есть именованные​Все отрабатывает без​ _ Buttons:=vbYesNo) ‘​ в книге​ на внешний файл,​ эту связь удалить,​ пустой документ с​
​ видно, что поля​ создать необходимые связи​
​ нужно изменить.​
​ того поскольку этой​

​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Function FileNameOnly(fname​​ 1)_осталась ссылка на​

​ в значениях, другие​​: Всем доброго дня.​roster,​ на них, никак​ диапазоны. После копирования​​ ошибок, но связь​ If the result​
​копаю дальше. в​ снова появляется запрос​
​ не попортив ничего.​ таким же количеством​
​ не позволяют формировать​ между таблицами.​
​Щелкните имя, чтобы выделить​ действие​
​ As String) As​ книгу не разорванной​
​ (не разорванные) останутся​Условие: В одну​
​А через специальную​
​ ни на что​
​ листа в новую​ не разрывается​
​ is true, then​
​ файле workbook.xml видно,​
​ на обновление с​Guest​
​ листов, в связях​
​ осмысленные вычисления.​
​Типы данных могут не​
​ его.​
​нельзя отменить​
​ String​
​ связи, разорванные связи​

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

excelworld.ru

Как удалить не удаляемые связи (старые) с несуществующими книгами

​Делаю тоже самое​​ delete the name.​
​ что присвоено много​ внешнего источника данных.​: Там этих ячеек​
​ написано-ОК,но при следующем​При создании связей алгоритм​ поддерживаться. Если любая​

​Нажмите кнопку​​, рекомендуется сохранить версию​​’ Возвращает имя​​ удалились?;​KoDeX​ идут связи с​

​ вставить только значения???​​И пусть их​ копи/пастятся в виде​ вручную:​ If Result =​ Определенных имен с​ Пробовал пересохранять в​ не меньше тысячи(​ обновлении та же​ автоматического обнаружения создает​ из таблиц, используемых​Удалить​

​ конечной книги в​​ файла fname без​​2)_осталась ссылка на​​: При разрыве одной​ трех книг, при​roster​ болтаются до закрытия.​ значений типа:​

​1. Копирую лист​​ vbYes Then xName.Delete​ пометкой hidden=1 Прикрепленные​ формат 97, при​The_Prist​:oops:

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

​ книгу не разорванной​​ связи остается общее​ разрыве связи хотя​: Дык я не​

​Или​​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Range(«J11:J400»).Select​ в новую книгу,​ ‘ Loop to​

​ файлы Снимок.PNG (87.81​​ проверке совместимости сообщает​

​: Ну так удалите​​Начальство жаждет видеть​ связей исходя из​ содержит столбцы только​
​Нажмите кнопку​Если вы используете диапазона​
​Dim temp As​ связи, разорванные связи​ значение в ячейке,​
​ бы одной из​ знаю что скопировать/вставить​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Workbooks(«A»).Sheets(«aaa»).Range(«A1:A10») = Workbooks(«B»).Sheets(«aaa»).Range(«A1:A10»)​

planetaexcel.ru

выборочный (частичный) разрыв связи (Формулы/Formulas)

​Selection.Copy​​ пытаюсь через меню​
​ the next name.​ КБ)​ об имеющейся связи​ все имена, которые​ документ без #ССЫЛКА!,​ значений, содержащихся в​ неподдерживаемых типов данных,​ОК​ внешних данных, параметра​
​ Variant​ остались значениями?​ а я спрашиваю​ этих книг, в​ теперь. Оказалось, что​Stork4ever​Range(«J11:J400»).Select​ разорвать связь. Связь​
​ Next xName End​AlexTM​ в Определенных именах.​ ссылаются на тот​
​ а я не​

excelworld.ru

как разорвать связи в ячейке, но чтобы одна ссылка осталась?

​ таблицах, и ранжирует​​ то связи обнаружить​.​ в запросе могут​If fname =​XXXXXL​ как разорвать одну​ ячейке В3 остается​ накопились за долгую​: Спасибо!​Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,​ вижу, кнопка разорвать​ Sub​: droZOnE, на микрософте​ При этом при​ файл. Почему нельзя?​ знаю,как эти 2​ возможные связи в​ невозможно. В этом​При импорте нескольких таблиц​ использовать данные из​ «» Then FileNameOnly​

​: кто с макросом​​ (две…, три…) связи,​ значение.​ историю, версия файла​gling​ SkipBlanks _:=False, Transpose:=False​ связь активна, но​Юрий М​ есть макрос для​

​ открытии Диспетчера имен​​ У Вас формулы​ связи разорвать(​ соответствии с их​ случае необходимо создать​ Excel пытается обнаружить​ другой книги. Вы​

​ = «»: Exit​​ на «ты»?, сможете​ но при этом​Вопрос: Как разорвать​ 39-я, подверсий было​: Использовал такой макрос​Остаются только формулы​ при нажатии связь​: droZOnE, ознакомьтесь с​ удаления всех имет​ — имена отсутствуют.​ выдают #ССЫЛКА! верно?​Помогите!​

​ вероятностью. Затем Excel создает​​ связи между активными​ и определить связи​

​ можете обнаружить и​​ Function​ доработать его под​

​ чтобы другая, допустим​​ одну (две, …)​ в десятки раз​ при создании новой​

​ подведения итогов, которые​​ не разрывается.​ Правилами и поменяйте​
​ — скрытых, нескрытых,​

​Все это похоже​​ Попробуйте так:​
​The_Prist​ только наиболее вероятную​ таблицами в сводной​ между этими таблицами,​

planetaexcel.ru

выборочный (частичный) разрыв связи (Макросы/Sub)

​ удалить любой из​​temp = Split(fname,​ мои нужды, для​ четвертая связь осталась​ связи, при этом​ больше. Связи, которые​
​ книги из листов.​ уже не имеют​2. Удаляю на​
​ в своём профиле​ неудаляемых… Поищите.​ на какой-то вирус.​F5-Выделить-Формулы-Ошибки​: Нужен файл. Без​ связь. Поэтому, если​ таблице вручную в​ поэтому нет необходимости​ этих типов связей.​
​ Application.PathSeparator)​ частичного разрыва связей?​ ссылкой, а остальные​ в ячейке В3​ якобы есть просто​ Посмотрите может пригодится.​ именованных диапазонов. Но​ новом листе все​
​ отображаемое имя. Спасибо!​TheBestOfTheBest​ Новые книги заражаются​Будут выделены ячейки​

​ этого вряд ли​​ таблицы содержат несколько​ диалоговом окне​ создавать связи вручную​На вкладке​FileNameOnly = temp(UBound(temp))​

​XXXXXL​​ были значениями либо​ 1)_осталась ссылка на​ не удаляются. Не​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub Связи() ‘разорвать все​ связь с книгой​ данные и формулы.​Stork4ever​: Я такого в​ при добавлении ссылки​ с ошибками. Очистите​ поймем причину. Посмотрите,​
​ столбцов, которые могут​
​Создание связи​ или создавать сложные​
​Данные​End Function​
​: вот еще один​ вообще их небыло.​
​ книгу не разорванной​ понимаю почему.​
​ связи​ не могу порвать,​
​ Связь все равно​: Из существующей книги​
​ выложенном файле не​ на файл с​ их - все​
​ нет в именах​
​ использоваться в качестве​. Дополнительные сведения см.​
​ обходные решения, чтобы​в группе​
​Коды надо оформлять​ макрос нашел, но​
​kristina S​
​ связи, разорванные связи​Ivan.kh​
​Dim WorkbookLinks As​ пока не сохраню​ разорвать не получается!!!​
​ копирую лист в​
​ вижу (Ex 2010)​
​ таким глюком.​

​ равно вычислений они​ тех, что ссылаются​ ключей, некоторые связи​
​ в разделе Создание​ работать с данными​Подключения​
​ тегами (кнопка #)​ он разрывает связи​
​: непонятно, выборочно связи​ удалились?;​:​ Variant​
​ и не закрою​В чем может​
​ новую книгу. Убираю​
​AlexTM​
​Скрины приложены.​ не сделают.​

excelworld.ru

​ на тот самый​

Разрыв связи с внешним ресурсом в 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). (Вы уверены, что сохранили копию книги?) Сохраните, закройте и заново откройте лист. Если приглашение обновить ссылки не появилось, вы нашли проблему, и теперь необходимо переделать этот блок ячеек. Если приглашение открылось, продолжайте очищать ячейки, пока при очередном открытии приглашение не будет выведено. После этого измените проблемные ячейки.

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

Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше

Важно: 

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

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

Разрыв связи

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

    Изменить ссылки

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

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

Как разорвать связи в Excel если они не разрываются?

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

Почему не получается разорвать связи в Excel?

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

Как удалить несуществующие связи в Excel?

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

Как убрать внешние ссылки в Excel?

Выберите внешние ссылки, которые нужно удалить, и нажмите клавишу DELETE либо разорвите связи, если вы хотите удалить ссылки, но сохранить вычисленные значения. Снова запустите инспектор документов, чтобы убедиться в том, что проблема устранена.

Как в Экселе Посмотреть связи?

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

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

Восстановление поврежденной книги вручную

В Excel 2013 или Excel 2016 щелкните место, где находится таблица, и нажмите кнопку Обзор. В диалоговом окне Открытие выберите поврежденную книгу, которую нужно открыть. Щелкните стрелку рядом с кнопкой Открыть и выберите команду Открыть и восстановить.

Как разорвать связи в презентации?

в PowerPoint 2007 нужно щелкнуть кнопку «Office» в левом верхнем углу экрана и выбрать пункт меню «Подготовить -> Изменить ссылки на файлы», в PowerPoint 2010 аналогичную кнопку вы найдете в меню «Файл -> Сведения» в правом нижнем углу экрана. В открывшемся окне выбрать ссылку на файл и кликнуть «Разорвать связь».

Как изменить связи в Excel?

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

  1. Откройте книгу-клиент и активируйте ее. Перейдите на вкладку Данные ленты инструментов, затем нажмите на кнопку Изменить связи. …
  2. Нажмите на ссылку (связь), с которой хотите работать.
  3. Нажмите на кнопку Изменить. …
  4. Нажмите Закрыть для возврата к книге.

Как найти внешние ссылки в Экселе?

Нажмите клавиши CTRL+G, нажмите клавиши CTRL+G, чтобы перейти в диалоговое окно Перейти, а затем выберите специальные > объекты > ОК. При этом будут выбраны все объекты на активном сайте. ссылку на другую книгу, например [Budget. xlsx].

Как найти внешние ссылки в Excel?

Поскольку внешние ссылки содержат скобки [ sign, мы сможем найти внешние ссылки, если сможем получить все скобки во всей книге. 1. Нажмите Главная > Найти и выбрать > Найдите для открытия Найти и заменить диалоговое окно. Вы также можете открыть Найти и заменить диалоговое окно с нажатием Ctrl + F ключи.

Как отключить автоматическое обновление ссылок в Excel?

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

  1. Выберите Файл > Параметры > Дополнительно.
  2. В разделе Общие снимите флажок Запрашивать об обновлении автоматических связей.

Как убрать ссылки в Excel?

В Excel 2010 и более поздних версиях

  1. Выделите все ячейки, содержащие гиперссылки (например, нажав CTRL+A).
  2. Щелкните их правой кнопкой мыши и выберите пункт Удалить гиперссылки.

Как изменить связи в Excel 2016?

На вкладке «Данные» в группе «Запросы & Подключения» нажмите кнопку «Изменить связи». В списке Источник выберите связь, которую требуется разорвать. Вы можете выбрать отдельные книги, щелкнув их, нажави нажав CTRL+A.

Не разрывается связь в excel

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

Разрыв связи

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

Изменить ссылки

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

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

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

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

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

Что такое связи в Excel

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

  1. [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого нужно достать информацию. Его также называют источником.
  2. Отчет. Это мы использовали следующее имя, но это не название, которое должно обязательно быть. В этом блоке содержится название листа, в каком надо находить информацию.
  3. $A:$F и $A1 – адрес ячейки или диапазона с данными, которые содержатся в этом документе.

Собственно, процесс создания ссылки на внешний документ и называется связыванием. После того, как мы прописали адрес ячейки, содержащейся в другом файле, изменяется содержимое вкладки «Данные». А именно – становится активной кнопка «Изменить связи», с помощью которой пользователь может отредактировать имеющиеся связи.

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

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

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

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

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

​Смотрите также​​ только в выбранных​ разрывать?​2)_осталась ссылка на​roster,​Dim Wb As​ все книги. А​ быть проблема?​ часть формул оставляя​: AlexTM, вроде этот​TheBestOfTheBest​Если же у​ файл(Ctrl+F3).​ могут получить более​ связи между двумя​ целостным способом.​нажмите кнопку​Примечание:​ ячейках, при этом​KoDeX​ книгу не разорванной​Ну если Вам​

​ Workbook​​ закрывать каждый раз​

​Мне нужно сохранить​ только формулы внутри​ (первый – обычный).​: Собственно говоря это​ Вас там не​На крайних случай​ низкий ранг и​ таблицами.​Иногда Excel не удается​Изменить связи​Мы стараемся как​ заменяет все на​: выборочный разрыв связи,​ связи, разорванные связи​ нужно просто данные​Dim n As​ не удобно.​​ копию листа без​​ книги. Делаю все​ Sub Names99() Dim​ правильная работа, а​

​ ошибки – то​ можно попробовать создать​ не будут автоматически​Автоматическое обнаружение связей запускается​ определить связь между​.​ можно оперативнее обеспечивать​ значения, кто сможет​

Разрыв связи

​ пример во вложении.​​ остались значениями?​​ то выделите все​​ Variant​​Собственно задача, что​​ связи с оновной​​ это макросом. В​

Изменить ссылки

​ vName As Variant​​ вы чего ожидали?​​ может имеет смысл​​ новую книгу, перенести​ созданы даже в​ только для мер​

​ таблицами. В этом​​Примечание:​​ вас актуальными справочными​ доработать его с​

​KoDeX​Закрыто. Дубль.​ скопируйте и через​Dim i As​ бы полученный отчет​

​ книгой. При этом​ результате получаю новую​

​ For Each vName​​droZOnE​​ через Ctrl+H найти​

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

​ в неё ТОЛЬКО​ том случае, если​ и не запускается​ случае используйте информацию​ Отсутствие команды​ материалами на вашем​

​ частичным (выборочным) разрывом​​: неужели ни у​​KoDeX​​ специальную вставку…​​ Long​​ не имел связей​​ сделать это нужно​

​ книгу. Но вот​​ In ThisWorkbook.Names vName.Visible​​: Добавляю ссылку на​ по формулам все​

​ ЗНАЧЕНИЯ, без формул,​ связь является действительной.​

​ для вычисляемых полей,​​ из этой статьи​​Изменить связи​

​ языке. Эта страница​​ связи? помогите, очень​​ кого нет никаких​

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

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

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

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

Но если количество связей становится слишком большим, вручную их удалять может занять немало времени. Чтобы решить эту проблему за один раз, можно воспользоваться специальным макросом. Он находится в аддоне VBA-Excel. Нужно его активировать и перейти на одноименную вкладку. Там будет находиться раздел «Связи», в котором нам надо нажать на кнопку «Разорвать все связи».

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

Код на VBA

Если же нет возможности активировать это дополнение, можно создать макрос самостоятельно. Для этого необходимо открыть редактор Visual Basic, нажав на клавиши Alt + F11, и в поле ввода кода записать следующие строки.

Select Case MsgBox(«Все ссылки на другие книги будут удалены из этого файла, а формулы, ссылающиеся на другие книги будут заменены на значения.» & vbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать связь?»)

If Not IsEmpty(WbLinks) Then

For i = 1 To UBound(WbLinks)

ActiveWorkbook.BreakLink Name:=WbLinks(i), Type:=xlLinkTypeExcelLinks

MsgBox «В данном файле отсутствуют ссылки на другие книги.», 64, «Связи с другими книгами»

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

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

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

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

Что такое связи в Excel

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

  1. [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого вам нужно получить информацию. Его еще называют источником.
  2. Отношение. Мы использовали следующее имя, но это не обязательно. Этот блок содержит имя листа, на котором вы хотите найти информацию.
  3. $ A: $ F и $ A1 — это адрес ячейки или диапазона с данными, содержащимися в этом документе.

Фактически, процесс создания ссылки на внешний документ называется ссылкой. После регистрации адреса ячейки, содержащейся в другом файле, содержимое вкладки «Данные» изменяется. А именно: становится активной кнопка «Изменить ссылки», с помощью которой пользователь может изменять существующие ссылки.

Суть проблемы

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

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

Кроме того, можно изменить ссылки, используя соответствующую кнопку, расположенную на вкладке «Данные». Пользователь также может узнать, что соединение разорвано, из-за ошибки #LINK, которая появляется, когда Excel не может получить доступ к информации, расположенной по определенному адресу, из-за того, что сам адрес недействителен.

Как разорвать связь в Эксель

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

  1. Откройте меню «Данные».
  2. Находим раздел «Подключения» и там — опцию «Изменить подключения».
  3. Затем нажмите «Отключить соединение».

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

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

Но если количество ссылок становится слишком большим, их удаление вручную может занять много времени. Решить эту проблему за один раз можно с помощью специального макроса. Он находится в надстройке VBA-Excel. Вам необходимо активировать его и перейти на одноименную вкладку. Будет раздел «Ссылки», в котором мы должны нажать кнопку «Разорвать все ссылки».

Код на VBA

Если вы не можете активировать это дополнение, вы можете создать макрос самостоятельно. Для этого откройте редактор Visual Basic, нажав Alt + F11, и напишите следующие строки в поле ввода кода.

Выберите Case MsgBox («Все ссылки на другие книги будут удалены из этого файла, а формулы, которые ссылаются на другие книги, будут заменены значениями». & VbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать ссылку?»)

WbLinks = ActiveWorkbook.LinkSources (Тип: = xlLinkTypeExcelLinks)

Если не пусто (WbLinks) Тогда

Для i = 1 для UBound (WbLinks)

ActiveWorkbook.BreakLink Имя: = WbLinks (i), Тип: = xlLinkTypeExcelLinks

MsgBox «В этом файле нет ссылок на другие книги.», 64, «Ссылки на другие книги»

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

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

  1. Выберите набор данных, в который вы хотите внести изменения.
  2. Установите надстройку VBA-Excel, затем перейдите на соответствующую вкладку.
  3. Затем найдите меню «Ссылки» и нажмите кнопку «Разорвать ссылки в выбранных диапазонах».

После этого все ссылки в выбранном наборе ячеек будут удалены.

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

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

  1. Во-первых, вам нужно проверить, содержится ли какая-либо информация в названных диапазонах. Для этого нажмите комбинацию клавиш Ctrl + F3 или откройте вкладку «Формулы» — «Диспетчер имен». Если имя файла полное, вам просто нужно его отредактировать или удалить совсем. Перед удалением именованных диапазонов вам необходимо скопировать файл в другое место, чтобы вы могли вернуться к исходной версии, если вы сделаете что-то неправильно.
  2. Если вы не можете решить проблему, удалив имена, вы можете проверить условное форматирование. Вы можете ссылаться на ячейки из другой таблицы в правилах условного форматирования. Для этого нужно найти соответствующий пункт на вкладке «Главная», затем нажать кнопку «Диспетчер файлов». alt=»Как разорвать ссылки в Excel» />
    Обычно Excel не предлагает возможности предоставить адрес других книг в условном форматировании, но это делается путем ссылки на именованный диапазон со ссылкой на другой файл. Обычно даже после удаления ссылки ссылка остается. Удалить такую ​​ссылку не составит труда, потому что она фактически не работает. Поэтому ничего плохого не произойдет, если вы его удалите.

Вы также можете использовать функцию проверки данных, чтобы увидеть, нет ли ненужных ссылок. Ссылки обычно остаются, если используется тип проверки данных «Список». Но что делать, если ячеек много? Неужели нужно постоянно проверять каждую из них? Очевидно нет. В конце концов, это займет много времени. Поэтому необходимо использовать специальный код, чтобы сохранить его значимым образом.
Явный вариант

Автор: The_Prist (Дмитрий Щербаков)

‘Профессиональная разработка приложений MS Office любой сложности

‘Проведение обучающих курсов в MS Excel

WebMoney — R298726502453; Яндекс.Деньги — 41001332272872

‘вам нужно посмотреть ссылку Data — Изменить ссылки на исходный файл

‘и напишите здесь ключевые слова в нижнем регистре (часть имени файла)

‘звездочка просто заменяет любое количество символов, поэтому вам не важно точное имя

Обычно после выполнения действий, описанных в приведенных выше инструкциях, ненужные ссылки больше не должны оставаться. Но если они есть в документе и ваша неспособность по той или иной причине их удалить (типичный пример — безопасность данных на листе), вы можете использовать другую последовательность действий. Эта инструкция действительна только для версий 2007 и более поздних версий.

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

Содержание

  1. Что такое связи в Excel
  2. Суть проблемы
  3. Как разорвать связь в Эксель
  4. Как разорвать связь со всеми книгами
  5. Код на VBA
  6. Как разорвать связи только в выделенном диапазоне
  7. Что делать, если связи не разрываются

Что такое связи в Excel

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

  1. [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого нужно достать информацию. Его также называют источником.
  2. Отчет. Это мы использовали следующее имя, но это не название, которое должно обязательно быть. В этом блоке содержится название листа, в каком надо находить информацию.
  3. $A:$F и $A1 – адрес ячейки или диапазона с данными, которые содержатся в этом документе.

Собственно, процесс создания ссылки на внешний документ и называется связыванием. После того, как мы прописали адрес ячейки, содержащейся в другом файле, изменяется содержимое вкладки «Данные». А именно – становится активной кнопка «Изменить связи», с помощью которой пользователь может отредактировать имеющиеся связи.

Суть проблемы

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

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

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

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

Кроме этого, можно отредактировать связи через соответствующую кнопку, расположенную на вкладке «Данные». О том, что связь нарушена, пользователь может также узнать по ошибке #ССЫЛКА, которая появляется тогда, когда эксель не может получить доступ к информации, расположенной по определенному адресу из-за того, что сам адрес недействительный.

Как разорвать связь в Эксель

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

  1. Открываем меню «Данные».
  2. Находим раздел «Подключения», и там – опцию «Изменить связи».
  3. После этого нажимаем на «Разорвать связь».

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

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

Но если количество связей становится слишком большим, вручную их удалять может занять немало времени. Чтобы решить эту проблему за один раз, можно воспользоваться специальным макросом. Он находится в аддоне VBA-Excel. Нужно его активировать и перейти на одноименную вкладку. Там будет находиться раздел «Связи», в котором нам надо нажать на кнопку «Разорвать все связи».

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

Код на VBA

Если же нет возможности активировать это дополнение, можно создать макрос самостоятельно. Для этого необходимо открыть редактор Visual Basic, нажав на клавиши Alt + F11, и в поле ввода кода записать следующие строки.

Sub UnlinkWorkBooks()

    Dim WbLinks

    Dim i As Long

    Select Case MsgBox(«Все ссылки на другие книги будут удалены из этого файла, а формулы, ссылающиеся на другие книги будут заменены на значения.» & vbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать связь?»)

    Case 7 ‘ Нет

        Exit Sub

    End Select

    WbLinks = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)

    If Not IsEmpty(WbLinks) Then

        For i = 1 To UBound(WbLinks)

            ActiveWorkbook.BreakLink Name:=WbLinks(i), Type:=xlLinkTypeExcelLinks

        Next

    Else

        MsgBox «В данном файле отсутствуют ссылки на другие книги.», 64, «Связи с другими книгами»

    End If

End Sub

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

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

  1. Выделить тот набор данных, в котором надо вносить изменения.
  2. Устанавливаем дополнение VBA-Excel, после чего переходим на соответствующую вкладку.
  3. Далее находим меню «Связи» и нажимаем на кнопку «Разорвать связи в выделенных диапазонах».

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

После этого все связи в выделенном наборе ячеек будут удалены.

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

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

  1. Сначала надо проверить, не содержится ли какая-то информация в именованных диапазонах. Для этого надо нажать на комбинацию клавиш Ctrl + F3 или же открыть вкладку «Формулы» – «Диспетчер имен». Если же имя к файлу указано полное, то нужно просто его отредактировать или же вовсе убрать. Перед тем, как удалять именованные диапазоны, необходимо скопировать файл в какое-то другое место, чтобы можно было вернуться к изначальному варианту, если были совершены неправильные действия.
  2. Если не получается решить проблему с помощью удаления имен, то можно проверить условное форматирование. Ссылка на ячейки в другой таблице может содержаться в правилах условного форматирования. Для этого надо найти соответствующий пункт на вкладке «Главная», а потом нажать на кнопку «Управление файлами». Как в Excel разорвать связи
    Обычно 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

Необходимо в редакторе макросов сделать стандартный модуль, а потом туда вставить этот текст. После этого вызвать окно макросов с помощью комбинации клавиш Alt + F8, а потом выбрать наш макрос и кликнуть по кнопке «Выполнить». При использовании этого кода есть несколько моментов, которые надо учитывать:

  1. Перед тем, как осуществлять поиск связи, которая уже не актуальна, нужно перед этим определить, как выглядит ссылка, через которую она создается. Для этого надо перейти в меню «Данные» и там найти пункт «Изменить связи». После этого надо посмотреть имя файла, и указать его в кавычках. Например, так: Const sToFndLink$ = «*продажи 2018*»
  2. Возможна запись имени не в полном виде, а просто заменить ненужные знаки звездочкой. А в кавычках записывать имя файла обязательно маленькими буквами. В этом случае Эксель найдет все файлы, которые содержат такую строку в конце.
  3. Этот код способен проверять наличие ссылок только в том листе, который сейчас активный.
  4. С помощью этого макроса можно лишь выделить ячейки, которые он обнаружил. Удалять придется все вручную. Это и плюс, потому что можно еще раз все перепроверить.
  5. Также можно сделать так, чтобы ячейки подсвечивались специальным цветом. Для этого нужно убрать знак апострофа перед этой строчкой. rres.Interior.Color = vbRed

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

  1. Создаем резервную копию документа.
  2. Открываем этот документ с помощью архиватора. Можно воспользоваться любым, который поддерживает ZIP формат, но также подойдет и WinRar, а также встроенный в Windows.
  3. В появившемся архиве необходимо найти папку xl, а там открыть externalLinks.
  4. В этой папке находятся все внешние связи, каждая из которых соответствует файлу вида externalLink1.xml. Все они лишь пронумерованы, и поэтому пользователь не имеет возможности понять, какая именно эта связь. Чтобы понять, какая именно связь, надо открыть папку _rels, и там посмотреть его.
  5. После этого убираем все или конкретные связи, исходя из того, что мы узнаем в файле externalLinkX.xml.rels.
  6. После этого открываем наш файл средствами Excel. Там будет информация об ошибке типа «Ошибка в части содержимого в Книге». Даем согласие. После этого появится еще один диалог. Закрываем его.

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

Оцените качество статьи. Нам важно ваше мнение:

на листе Catalog
в ячейках:
C48:C49,E49,E52,C52,C54:C55,E54:E55,E58,C58,E74,C74,C66,E66

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

как быстро найдено:
1. открываем копию книгу винраром
2. находим и удаляем папку «externalLinks»

3. закрываем архиватор
4. открываем файл в Excel
5. Excel ругается, но потом восстанавливает данные, выдавая следующее:
Удаленное свойство: Проверка данных из части /xl/worksheets/sheet7.xml
6. открываем изначальный файл, переходим на 7-й лист и ищем там проверки данных (Ctrl+G, выделить, проверки данных — сначала всех, потом, если их будет несколько, по одному)

Like this post? Please share to your friends:
  • Excel не изменяется формат ячеек
  • Excel не изменяется значение ячейки
  • Excel не защищать группировки
  • Excel не запускать две
  • Excel не запускается с ярлыка