Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Важно:
-
При разрыве связи с исходной книгой (внешним источником) все формулы, использующие значения в этой книге, преобразуются в свои текущие значения. Например, если разорвать связь с внешней ссылкой =СУММ([Budget.xls]Годовой! C10:C25), формула СУММ заменяется вычисляемой величиной, каким бы ни была формула. Кроме того, так как это действие нельзяотменить, вы можете сохранить версию конечной книги в качестве резервной копии.
-
Если используется диапазон внешних данных, параметр в запросе может использовать данные из другой книги. Может потребоваться проверить и удалить эти типы связей.
Разрыв связи
-
На вкладке Данные в группе Подключения нажмите кнопку Изменить связи.
Примечание: Отсутствие команды Изменить связи означает, что файл не содержит связанных данных.
-
В списке Источник выберите связь, которую требуется разорвать.
-
Чтобы выбрать несколько связанных объектов, щелкните каждый из них, удерживая нажатой клавишу CTRL.
-
Чтобы выделить все связи, нажмите клавиши CTRL+A.
-
-
Щелкните элемент Разорвать.
Удаление имени определенной ссылки
Если для ссылки использовался определенный имя, имя не удаляется автоматически. Чтобы удалить имя, с помощью следующих действий:
-
На вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.
-
В диалоговом окне Диспетчер имен щелкните имя, которое нужно изменить.
-
Щелкните имя, чтобы выделить его.
-
Нажмите кнопку Удалить.
-
Нажмите кнопку ОК.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
Хитрости »
30 Декабрь 2018 78797 просмотров
Невозможно разорвать связи с другой книгой
Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в 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) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего вызвать макросы(Alt+F8 или вкладка Разработчик —Макросы), выбрать FindErrLink и нажать выполнить.
Есть пара нюансов:- Прежде чем искать ненужную связь необходимо определить её ссылку: Данные(Data) -группа Запросы и подключения(Queries & Coonections) —Изменить связи(Edit Links). Запомнить имя файла и записать в этой строке внутри кавычек:
Const sToFndLink$ = «*продажи 2018*»
Имя файла можно записать не полностью, все пробелы и другие символы можно заменить звездочкой дабы не ошибиться. Текст внутри кавычек должен быть в нижнем регистре. Например, на картинках выше есть связь с файлом «Продажи 2018.xlsx», но я внутри кода записал «*продажи 2018*» — будет найдена любая связь, в имени которой есть «продажи 2018». - Код ищет проверки данных только на активном листе
- Код только выделяет все найденные ячейки(обычное выделение), он ничего сам не удаляет
- Если надо подсветить ячейки цветом — достаточно убрать апостроф(‘) перед строкой
rres.Interior.Color = vbRed ‘если надо выделить еще и цветом
- Прежде чем искать ненужную связь необходимо определить её ссылку: Данные(Data) -группа Запросы и подключения(Queries & Coonections) —Изменить связи(Edit Links). Запомнить имя файла и записать в этой строке внутри кавычек:
Как правило после описанных выше действий лишних связей остаться не должно. Но если вдруг связи остались и найти Вы их никак не можете или по каким-то причинам разорвать связи не получается(например, лист со связью защищен)- можно пойти совершенно иным путем. Действует этот рецепт только для файлов новых форматов Excel 2007 и выше (если проблема с файлом более старого формата — можно пересохранить в новый формат):
- Обязательно делаем резервную копию файла, связи в котором никак не хотят разрываться
- Открываем файл при помощи любого архиватора(WinRAR отлично справляется, но это может быть и другой, работающий с форматом ZIP)
- В архиве перейти в папку xl -> externalLinks
- Сколько связей содержится в файле, столько файлов вида externalLink1.xml и будет внутри. Файлы просто пронумерованы и никаких сведений о том, к какому конкретному файлу относится эта связь на поверхности нет. Чтобы узнать какой файл .xml к какой связи относится надо зайти в папку «_rels» и открыть там каждый из имеющихся файлов вида externalLink1.xml.rels. Там и будет содержаться имя файла-источника.
- Если надо удалить только связь на конкретный файл — удаляем только те externalLink1.xml.rels и externalLink1.xml, которые относятся к нему. Если удалить надо все связи — удаляем все содержимое папки externalLinks
- Закрываем архив
- Открываем файл в Excel. Появится сообщение об ошибке вроде «Ошибка в части содержимого в Книге …». Соглашаемся. Появится еще одно окно с перечислением ошибочного содержимого. Нажимаем закрыть.
После этого связи должны быть удалены.
Если и это не помогло — скорее всего «битая» связь связана с ошибкой самого файла и лучшим решением будет перенести все данные в новый файл.
Так же см.:
Найти скрытые связи
Оптимизировать книгу
Статья помогла? Поделись ссылкой с друзьями!
Видеоуроки
Поиск по меткам
Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика
Разрыв связи с внешним ресурсом в Excel
Смотрите также ЭТО называется криком. дом вызвать, или — и ответа: Z, мне стыдно, воспользовался надстройкой PLEX, 2003 и 2007 есть Excel 2003-2007 расчетов, а оставшийся все отвечаем да происходит. аудита. нажмите кнопку зависимости эта книгаAdvanced. грамматические ошибки. Длянажмите кнопкуПримечание:Спасибо за науку, сами по рецепту как нет, так но я не
но все это работают
-
удали связи сохрани по новым менять и т.пIvan.khСсылки на текстовые поля,Зависимые должна быть открыта.Примечание: нас важно, чтобыИзменить связиМы стараемся как мне не свойственна GIG_ant’a: нет… уловил намека ( не дало результата,Николай Павлов и бегом обратно и так далее.Roma414:
-
внедренные диаграммы или.Чтобы определить ячеек, предоставляющих Если вы используете Excel эта статья была. можно оперативнее обеспечивать несдержанность
Разрыв связи
-
»В файле примереУбрали или спрятали?Hugo наверное, что-то упустил,: Попробуйте вот этот в свой офис. Но в Excel
: Файл-пример постоянно запрашиваетroster, изображения на листах.Для удаления одного уровня данные активной ячейки 2007; Нажмите
-
вам полезна. ПросимПримечание: вас актуальными справочнымиПо делу: В
-
выполнив в окнеСам пошёл искать…: Это редактор VBA, поэтому и прикладываю код:
-
Думаю должно получиться! 2000 я не
-
-
обновление связей. (приА через специальнуюОтчеты сводных таблиц.
Удаление имени определенной ссылки
стрелок трассировки по следующего уровня, ещеКнопку Microsoft Office вас уделить пару Отсутствие команды материалами на вашем
-
том посте ведь Immediate вот такойfordale это знакомо :) фаил…Set Wb =Алексей
-
нашел функции разрыва включенном содержимом) вставку не пробовалиСсылки на именованные константы.
-
одному, начиная с раз нажмите кнопку
-
, выберите пункт секунд и сообщить,Изменить связи
-
языке. Эта страница не только книга-результат, код:
support.office.com
Отображение связей между формулами и ячейками
: С именами яА где ScriptEditor?fordale ActiveWorkbook: Уже проверял - связи :(. МожетНикаких связей я вставить только значения???Формулы, расположенные в другой зависимые ячейки крайнийВлияющиеПараметры Excel помогла ли онаозначает, что файл переведена автоматически, поэтому но и достаточноFor Each n разобрался изначально, ноПо теме -: с 2003 тугоWorkbookLinks = Wb.LinkSources(Type:=xlLinkTypeExcelLinks) этот вариант работает,
подскажет кто в в файле неroster книге, которая содержит от активной ячейки,.
-
и выберите категорию вам, с помощью не содержит связанных ее текст может интересный способ решения In ThisWorkbook.Names: n.Visible почему-то ссылки остались, порыться в архиве теперь, есть толькоIf IsArray(WorkbookLinks) Then
-
вот только я чем тут загвозка? наблюдаю.: Дык я не ссылку на активную на вкладкеУдаление одного уровня стрелокДополнительно кнопок внизу страницы.
данных. содержать неточности и задачи в общем = True: Next и поэтому я вероятно нужно, там 2010…For I = создал этот файл Может другие вариантыХотелось бы способ
знаю что скопировать/вставить ячейку Если этаформулы
-
трассировки одновременно, начинается. Для удобства такжеВ списке грамматические ошибки. Для виде. Первое, что
и зайдя в выложил фаил есть папкаZ LBound(WorkbookLinks) To UBound(WorkbookLinks) для дальнейших работ какие есть? полностью удалять связи теперь. Оказалось, что
-
книга закрыта.в группе с влияющие ячейкиВ разделе приводим ссылку наИсточник нас важно, чтобы я сделал для диспечер имен, открываетсяможет быть это
-
post_307928b.xlsb.zipxlexternalLinks: Вариант?!. -58036-Wb.BreakLink Name:=WorkbookLinks(I), _ и перспектива каждыйДругой Excel ставить из файла. Если накопились за долгуюПримечания:
-
Зависимости формул крайних подальше от
Трассировка ячеек, обеспечивающих формулу данными (влияющих ячеек)
Параметры отображения для этой
-
оригинал (на английскомвыберите связь, которую эта статья была
-
удаления сбойных связей вот какая картина глюк, но стоитGIG_antHugo Type:=xlLinkTypeExcelLinks раз выбегать из в офисе нельзя, выбрать в графе историю, версия файла
-
щелкните стрелку рядом активной ячейки. На книги языке) . требуется разорвать. вам полезна. Просим — воспользовался утилитой (см скрин). Если скопировать этот лист: Возможно вопрос уже: Z — такNext I офиса для обработки как мне объяснили Данные -> изменить
-
-
39-я, подверсий былоЧтобы увидеть выделение цветом с кнопкой вкладкевыберите нужную книгу Проверке на точность или
-
Для выделения нескольких связанных вас уделить пару Билла Менвилла, но удалить все ненужные в другой фаил решен, но все получилось удалить? Уend if ведет к потере лицензия есть только связь -> разорвать в десятки раз влияющих ячеек дляУбрать стрелки формулы и убедитесь, что при поиске источника объектов, удерживайте нажатой
Трассировка формул, ссылающихся на конкретную ячейку (зависимых ячеек)
секунд и сообщить,
-
она не сработала. имена, то связи и его тоже
-
же: меня не получилось.Igor67 смысла в этой на этот… связь — не больше. Связи, которые аргументов формулы, выделитеи нажмите кнопку в группе
в ошибки может быть клавишу CTRL и помогла ли она Тогда я решил исчезнут сами собой.» поражает эта заразаЯ встретился недавно И макрос тоже: А разве в программке :(.Лузер помогает. якобы есть просто ячейку и нажмите
-
УдалитьЗависимости формулПоказывать объекты затруднен, если формуле щелкните каждый связанный вам, с помощью
-
воспользовался эффективным, ноps На post_307965.xls,fordale с такой же не помог. новой книге послеМожет кто знает: Она там же,Хотелось бы также не удаляются. Не клавишу F2.Зависимые стрелкинажмите стрелку рядомвыбран используются влияющие или объект. кнопок внизу страницы. малоизвестным способом удаления например, получилось.
Просмотр всех зависимостей на листе
: Редактор VBA знакомо
-
проблемой, и вотКстати — а
-
СПЕЦИАЛЬНОЙ ВСТАВКИ СВЯЗИ вариант попроще? где и в
-
аналогичную проблему решить понимаю почему.Для выбора ячейки на. Чтобы удалить с кнопкойвсе зависимые ячейки:
Чтобы выделить все связи, Для удобства также не используемых именHugo :), но я что оказалось: связи где в 2007/10 СОХРАНЯЮТСЯ? slan
Проблема: Microsoft Excel издает звуковой сигнал при нажатии кнопки зависимые ячейки или влияющие команды.
других офисах: Правка для Power PointIvan.kh другом конце стрелки другой уровень стрелки, Убрать стрелки.Влияющие ячейки — нажмите клавиши CTRL+A. приводим ссылку на (ни VBA, ни: Можно на корню не понял, что нельзя удалить стандартным ScriptEditor засунули (или
-
Лузер: выбегать — это — Связи -
-
Спасибо.
-
:
-
дважды щелкните эту нажмите кнопку ещеи нажмите кнопкуЧтобы указать ссылки на ячеек, на которые ссылаются
Щелкните элемент оригинал (на английском
-
скрипт не нужен, всё под нож: там нужно сделать методом если в удалили совсем?)?
-
: Смотря чего выбрать надеюсь образно? разорвать связьRoma414roster, стрелку. Если ячейка раз.Убрать стрелки влияющие ячейки в другой формулы в другуюРазорвать языке) . вся процедура занялаFor Each n чтобы убрать эти книге присутствуют имена
-
fordale в спец вставке,АлексейЕсли имелся ввиду: Господа и дамы,Ну если Вам находится на другомСделайте следующее:. Чтобы удалить книге, что книга ячейку. Например если.Важно: не более 1 In ThisWorkbook.Names: n.Delete: ссылки с формулами (которые
support.office.com
Как удалить не удаляемые связи (старые) с несуществующими книгами
: =)) если значения, то
: {quote}{login=slan}{date=30.01.2008 03:49}{thema=}{post}выбегать - VBA, то неужели ни у
нужно просто данные листе или вВ пустой ячейке введите
другой уровень стрелки, должна быть открыта. ячейка D10 содержитЕсли ссылка используется определенный минуты, есть результат).
NextGIG_ant и создают этиHugo нет это надеюсь образно?{/post}{/quoteActiveWorkbook.BreakLink Name:=»связанная_книга.xls», Type:=xlExcelLinks кого никаких идей? то выделите все другой книге, дважды = (знак равенства). нажмите кнопку еще
Microsoft Office Excel формулу имя, имя автоматическиКогда разорвать связь в Смысл этих действийНо так конечно: у меня удалились. связи). Выход: удалить
: А Вы неfordaleНу а какАлексейKuklP
скопируйте и через щелкните черную стрелкуНажмите кнопку
раз.
невозможно перейти к
= B5
не удаляется. Может исходную книгу внешних такой: при копировании можно и что-то
Hugo ненужные имена из пробовали пересохранить файл: Прошу отеческого совета.
поступать?: В том то
: Есть. Файл глючный. специальную вставку… для отображения диалоговогоВыделить все
Сделайте следующее: ячейке в книге,
, ячейка B5 является потребоваться удалить имя ссылок, все формулы,
содержимого листа в нужное отрезать…: С именами разобрались
planetaexcel.ru
Полностью удалить связи в Excel 2010
диспечера имен. Связи в другом форматеВ приведенном файлеПостом выше к
и дело, что Копируйте из негоroster
окна.Укажите ячейку, для которой которая не открыта. влияющие на ячейку также, выполнив следующие используйте значение из новую книгу там
GIG_ant не до конца тогда сами удалятся.
— xlsb например,
есть ссылки, которые стати то же в Excel 2000 все данные в
: Мне нужен весьПереходВыделите ячейку и на следует найти зависимыеВыполните одно из следующих D10. действия: поля в исходной автоматически создаются только: Ашибка выскочит. — там их В файле примере
или xlsm, xlsx(без регулярно просят обновиться. моя тема… нет такого пункта
новый. А на файл целиком со, а затем дважды вкладке
planetaexcel.ru
Как в Excel 2000 можно разорвать связь с листом?
ячейки. действий:Зависимые ячейки —На вкладке книге преобразуются в те имена, наGIG_ant ещё 56 штук выполнив в окне макросов!), и затем Проверив все местаslan как «разорвать связь» будущее, давать имена всеми расчетами и щелкните требуемую ссылкуформулыЧтобы отобразить стрелку трассировкиСделайте следующее: этих ячеек формул,Формулы свои текущие значения. которые есть ссылки: Странно не выскочила
(если правильно помню) Immediate вот такой снова попробовать удалить известные мне, осталось: електронные виды связи..
А как с файлам типа: «2кв сводными. в спискев группе к каждой ячейке,
Укажите ячейку, содержащую формулу, ссылающихся на другие
в группе
Например, если разорвать в любых объектах ), там просто осталось. код: связи стандартным способом?
2 ссылки, которыеАлексей VBA работать я
36. Гаражное оборудование+.xls»,ZПереход
Зависимости формул зависимой от активной
для которой следует ячейки. Например еслиОпределенные имена связь с внешней листа (ячейках, формулах имя было типаv__stepFor Each nРаз уж 2010 я не знаю,: Пытаюсь испробовать все не в курсе… это верный путь: Поиск по Планете,.дважды нажмите кнопку
ячейки, на вкладке найти влияющие ячейки. ячейка D10 содержитнажмите кнопку ссылкой = сумм проверок, условном форматировании, _xlfn.IFERROR, так вот: В книге были
In ThisWorkbook.Names: n.Visible версия есть. как «убить». методы :)))slan к тому, чтоб иВсе стрелки слежения исчезаютВлияющиеформулыЧтобы отобразить стрелку трассировки формулу
Диспетчер имен ([бюджет.xls] Годовой! C10:
графических объектах и раньше его макросом скрытые имена с
= True: NextZvikttur
Guest: а у меня
потом кричать «Караул!»- при изменении формулы,
Чтобы удалить все стрелкив группе
к каждой ячейке,= B5.
C25), формула СУММ т.д.). Не используемые не удаляло ! внешними ссылками.
и зайдя в: Увы, однако, -: Не отеческий, детский:: Эта прога для нет 2000го
на форумах.- к которому стрелки трассировки на листе,
Зависимости формул непосредственно предоставляет данные, ячейка D10 зависитВ диалоговом окне
заменяется вычисленное значение имена автоматечески удаляются.v__stepЯ создал новую диспечер имен, открывается
барабашка какой-то не не пробовали название всего офиса -
а выделить ячейкиholdoff- …
пункт, вставить или на вкладке
нажмите кнопку
на активную ячейку
от ячейки B5.Диспетчер имен
— объекты, которые А заодно удаляется
: post 308050.xls -
книгу и скопировал
вот какая картина дает… А темы вставить в замучаешься переводить… со связими можете?
: Условное форматирование, управлениеroster удалить столбцы илиформулыЗависимые
planetaexcel.ru
Удаление связей
на вкладкеОблегчить проверку формул можно
щелкните имя, которое могут быть. Кроме много чего другого это Ваш Файл содержимое листа + (см скрин). Если прочее, как вариант окошко поиска (над
Можно ли какАлексей правилами. Удалить правила: Неа, не помогают, строки, или удалитьв группе.
формулы использовать команд нужно изменить. того поскольку этой
лишнего. Этот приём С УДАЛЕННЫМИ ССЫЛКАМИ.
код VBA удалить все ненужные — Настройки - темой) и нажать нибудь установить 2007-й: ячейки выделяются, копируются, вида: остаются списки связей или переместить ячейки.Зависимости формулСиние стрелки показывают ячейкив группеВлияющиеЩелкните имя, чтобы выделить действие описан на многих
НИЧЕГО ДЕЛАТЬ УЖЕИмена были уничтожены имена, то связи отображать «Разработчика» на
кнопулечку? офис, так что
я даже уже=ЛЕВСИМВ(‘x:…[2кв 36. Гаражное и не удаляются. Чтобы восстановить стрелки, нажмите кнопку без ошибок. Красные
Зависимости формули его.нельзя отменить
сайтах, есть он НЕ НАДО -
при копировании, т.к. исчезнут сами собой. ленте, а там…Hugo б и 2000-й все формулы убрал, оборудование+.xls]Лист1′!#ССЫЛКА!;2)=»сб», затем вDV слежения после внесения
Убрать стрелки стрелки показывают ячейки,
нажмите кнопкуЗависимыеНажмите кнопку, рекомендуется сохранить версию в книге Уокенбаха, просто возьмите его в книге нет Прикрепленные файлы post_308014.gif рукой подать -: Я их убил то же работал? вставив только значения,
«изменить связи» -: Нажмите Ctrl+F3 и любого из этих.
которые приводят кВлияющиеграфически отобразить иУдалить конечной книги в соответствующий очень красивый
Z ячеек со ссылками (49.09 КБ) скрин. -62672- Прикрепленные
в скриптэдиторе вАлексей удалял книгу, на
разорвать связь.
удалите все ненужные изменений, необходимо использоватьЕсли Excel звуковых сигналов возникновению ошибки. Если
.
отследить связи между. качестве резервной копии. макрос предложил KuklP
: 1 — кричать на эти именаZ файлы post_307991.jpg (71.18 2003 (Alt+Shift+F11).: Может в коде которую этот листАлексей имена команды проверки на при нажатии кнопки выделенная ячейка естьСиние стрелки показывают ячейки этими ячейками иНажмите кнопкуЕсли вы используете диапазона на ExcelWorld. Мне
не надо, 2Связей больше нет: Спасибо, дотошный GIG_ant!..
КБ)Правда не уверен, листа какие функции ссылается. Проблема в: Сделал небольшую програмку,qwwwerty листе еще раз.Зависимые ссылка на ячейку
без ошибок. Красные формулами с стрелкиОК внешних данных, параметра кажется, что такой
— рыба иGuest Однако, кое-кто желает
fordale что полностью корректно…
прописать… :( том, что он в которой на: DV, отлично. Для отслеживания стрелки,или
на другой лист
стрелки показывают ячейки,
трассировки, как показано. в запросе могут ход имеет более рыбораздача — дело: Судя по всему
знать — «А: да, к сожалению,fordaleslan все равно постоянно нескольких листах идут
Blazhenniy распечатать лист соВлияющие или книгу, черная которые приводят к на этом рисунке.Примечание:
использовать данные из широкое применение, чем
хорошее, но 3 придется копировать где ScriptEditor?»… ;) из простых перебрал: Понимаю, что похоже: Эта прога для спрашивает обновление, можно
расчеты, а на: ни один из стрелками слежения перед, Excel или
стрелка указывает на возникновению ошибки. ЕслиВыполните следующие действия дляМы стараемся как
другой книги. Вы простое удаление объектов-имен — требуется, имхо,удаление имен вHugo
все варианты.
на глупость, и всего офиса - от него отказаться,
одном итоговая таблица. способов не помог внесением изменений. найдены все уровни значок листа
выделенная ячейка есть
отображения формулы отношений можно оперативнее обеспечивать можете обнаружить и в VBA универсальная удочка на
моем файле не: Да, как всёЧувствую, что где-то скорее всего она
замучаешься переводить… но все равно Каждый раз расчеты
кромеroster формулы или выот выбранной ячейки. ссылка на ячейку между ячейками. вас актуальными справочными
удалить любой изZ
разную (обрисованную ранее) дает желаемого эффекта просто оказалось :)
сидит еще какая-то и имеет местоМожно ли как
при следующем входе разные и итоговаясохраняете файл как…
: Добрый день! пытаетесь элемента, который
Excel можно проследить на другой листВыберите материалами на вашем этих типов связей.: Спасибо, v__step! Вот «рыбу»… -56241-
в моем случаеНо всёж - надстройка, которая и быть, но я нибудь установить 2007-й он опять его таблица соответственно должна
тип файла: xlsbКак удалить не неотслеживаемый трассировки. Следующие зависимости эта книга или книгу, чернаяфайл языке. Эта страницаНа вкладке теперь, имхо, дляv__step
(либо руки кривые) где он? держит связь, но проверил поиск, удалил офис, так что
запрашивает… меняться, поэтому решилоткрыв файл архиватором
удаляемые связи (старые) элементы на листы, должна быть открыта. стрелка указывает на> переведена автоматически, поэтомуДанные меня кое-какие ваши: Уважаемый Z, ивините,Всем спасибоИ кстати я я просто не все связи через б и 2000-йGuest копировать лист с — удалить папку с несуществующими книгами? которые ссылаются формулыЧтобы определить ячеек, зависящих значок листаПараметры ее текст можетв группе «рыболовецкие» снасти прояснились… бога ради, теперьGuest уже второй раз знаю, что это настройки, удалил ненужные то же работал?{/post}{/quote}: Принеси файл к таблицой из книги xl / externalLinksНажимаю разорвать связь не являются выполняемых от активной ячейкиот выбранной ячейки.> содержать неточности иПодключения -81049- буду знать, что: Может мастера на эту тему поднимаюfordale макросы имена формулы,у меня дома
тому у кого для сохранения прошлыхзакрываем, открываем, на — ничего не с помощью средства следующего уровня, снова
planetaexcel.ru
Excel можно проследить
Связь – это очень полезная возможность Excel. Ведь очень часто пользователям приходится использовать информацию из других файлов. Но в некоторых ситуациях они способны скорее нанести вред, чем принести пользу. Ведь, к примеру, если отправлять эти файлы по почте, ссылки оказываются нерабочими. Сегодня мы более подробно поговорим о том, что сделать для избежания такой проблемы.
Содержание
- Что такое связи в Excel
- Суть проблемы
- Как разорвать связь в Эксель
- Как разорвать связь со всеми книгами
- Код на VBA
- Как разорвать связи только в выделенном диапазоне
- Что делать, если связи не разрываются
Что такое связи в Excel
Связи в Excel очень часто используются вместе с такими функциями, как ВПР, чтобы получить информацию из другой книги. Она может иметь вид специальной ссылки, которая содержит адрес не только ячейки, но и книги, в которой данные расположены. В результате, такая ссылка имеет приблизительно такой вид: =ВПР(A2;'[Продажи 2018.xlsx]Отчет’!$A:$F;4;0). Или же, для более простого представления, представить адрес в следующем виде: ='[Продажи 2018.xlsx]Отчет’!$A1. Разберем каждый из элементов ссылки этого типа:
- [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого нужно достать информацию. Его также называют источником.
- Отчет. Это мы использовали следующее имя, но это не название, которое должно обязательно быть. В этом блоке содержится название листа, в каком надо находить информацию.
- $A:$F и $A1 – адрес ячейки или диапазона с данными, которые содержатся в этом документе.
Собственно, процесс создания ссылки на внешний документ и называется связыванием. После того, как мы прописали адрес ячейки, содержащейся в другом файле, изменяется содержимое вкладки «Данные». А именно – становится активной кнопка «Изменить связи», с помощью которой пользователь может отредактировать имеющиеся связи.
Суть проблемы
Как правило, никаких дополнительных трудностей с тем, чтобы использовать связи, не возникает. Даже если возникает ситуация, в которой ячейки изменяются, то все связи автоматически обновляются. А вот если уже переименовать саму книгу или же переместить ее по другому адресу, Excel становится бессилен. Поэтому выдает следующее сообщение.
Тут перед пользователем появляется два возможных варианта, как действовать этой ситуации. Он может нажать «Продолжить» и тогда изменения не обновятся, или же нажать кнопку «Изменить связи», с помощью которой он может обновить их вручную. После того, как мы нажмем эту кнопку, появится дополнительное окно, в котором можно будет изменить связи, указав, где находится правильный файл в данный момент и как он называется.
Кроме этого, можно отредактировать связи через соответствующую кнопку, расположенную на вкладке «Данные». О том, что связь нарушена, пользователь может также узнать по ошибке #ССЫЛКА, которая появляется тогда, когда эксель не может получить доступ к информации, расположенной по определенному адресу из-за того, что сам адрес недействительный.
Как разорвать связь в Эксель
Один из самых простых методов решения описанной выше ситуации в случае, если не получается обновить местонахождение связанного файла самостоятельно – удалить саму связь. Особенно просто это сделать, если в документе содержится только одна связь. Для этого надо выполнить следующую последовательность шагов:
- Открываем меню «Данные».
- Находим раздел «Подключения», и там – опцию «Изменить связи».
- После этого нажимаем на «Разорвать связь».
Если собираетесь отправлять эту книгу по почте другому человеку, настоятельно рекомендуется это сделать до этого. Ведь после удаления связей все значения, которые содержатся в другом документе, будут автоматически загружены в файл, использованы в формулах, и вместо адреса ячейки информация в соответствующих ячейках будет просто трансформирована в значения.
Как разорвать связь со всеми книгами
Но если количество связей становится слишком большим, вручную их удалять может занять немало времени. Чтобы решить эту проблему за один раз, можно воспользоваться специальным макросом. Он находится в аддоне VBA-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
Как разорвать связи только в выделенном диапазоне
Время от времени количество связей очень большое, и пользователь боится, что после удаления какой-то из них не получится вернуть все назад, если какая-то была лишней. Но это проблема, которую легко не допустить. Для этого нужно выбрать диапазон, в котором осуществить удаление связей, а потом удалить их. Для этого надо выполнить следующую последовательность действий:
- Выделить тот набор данных, в котором надо вносить изменения.
- Устанавливаем дополнение VBA-Excel, после чего переходим на соответствующую вкладку.
- Далее находим меню «Связи» и нажимаем на кнопку «Разорвать связи в выделенных диапазонах».
После этого все связи в выделенном наборе ячеек будут удалены.
Что делать, если связи не разрываются
Все описанное выше звучит хорошо, но на практике всегда возникают какие-то нюансы. Например, может случиться ситуация, когда связи не разрываются. В этом случае все равно появляется диалоговое окно, что не получается автоматически обновить связи. Что же делать в этой ситуации?
- Сначала надо проверить, не содержится ли какая-то информация в именованных диапазонах. Для этого надо нажать на комбинацию клавиш Ctrl + F3 или же открыть вкладку «Формулы» – «Диспетчер имен». Если же имя к файлу указано полное, то нужно просто его отредактировать или же вовсе убрать. Перед тем, как удалять именованные диапазоны, необходимо скопировать файл в какое-то другое место, чтобы можно было вернуться к изначальному варианту, если были совершены неправильные действия.
- Если не получается решить проблему с помощью удаления имен, то можно проверить условное форматирование. Ссылка на ячейки в другой таблице может содержаться в правилах условного форматирования. Для этого надо найти соответствующий пункт на вкладке «Главная», а потом нажать на кнопку «Управление файлами».
Обычно 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, а потом выбрать наш макрос и кликнуть по кнопке «Выполнить». При использовании этого кода есть несколько моментов, которые надо учитывать:
- Перед тем, как осуществлять поиск связи, которая уже не актуальна, нужно перед этим определить, как выглядит ссылка, через которую она создается. Для этого надо перейти в меню «Данные» и там найти пункт «Изменить связи». После этого надо посмотреть имя файла, и указать его в кавычках. Например, так: Const sToFndLink$ = «*продажи 2018*»
- Возможна запись имени не в полном виде, а просто заменить ненужные знаки звездочкой. А в кавычках записывать имя файла обязательно маленькими буквами. В этом случае Эксель найдет все файлы, которые содержат такую строку в конце.
- Этот код способен проверять наличие ссылок только в том листе, который сейчас активный.
- С помощью этого макроса можно лишь выделить ячейки, которые он обнаружил. Удалять придется все вручную. Это и плюс, потому что можно еще раз все перепроверить.
- Также можно сделать так, чтобы ячейки подсвечивались специальным цветом. Для этого нужно убрать знак апострофа перед этой строчкой. rres.Interior.Color = vbRed
Обычно после того, как выполнить действия, описанные в вышеприведенной инструкции, ненужных связей уже не должно оставаться. Но в случае наличия некоторых из них в документе и вашей неспособности по тем или иным причинам их убрать (типичный пример – защищенность данных в листе), то можно воспользоваться другой последовательностью действий. Эта инструкция справедлива лишь для версий 2007 и выше.
- Создаем резервную копию документа.
- Открываем этот документ с помощью архиватора. Можно воспользоваться любым, который поддерживает ZIP формат, но также подойдет и WinRar, а также встроенный в Windows.
- В появившемся архиве необходимо найти папку xl, а там открыть externalLinks.
- В этой папке находятся все внешние связи, каждая из которых соответствует файлу вида externalLink1.xml. Все они лишь пронумерованы, и поэтому пользователь не имеет возможности понять, какая именно эта связь. Чтобы понять, какая именно связь, надо открыть папку _rels, и там посмотреть его.
- После этого убираем все или конкретные связи, исходя из того, что мы узнаем в файле externalLinkX.xml.rels.
- После этого открываем наш файл средствами Excel. Там будет информация об ошибке типа «Ошибка в части содержимого в Книге». Даем согласие. После этого появится еще один диалог. Закрываем его.
После этого все связи должны быть удалены.
Оцените качество статьи. Нам важно ваше мнение:
Разрыв связи с внешним ресурсом в Excel
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке) .
Когда разорвать связь в исходную книгу внешних ссылок, все формулы, используйте значение из поля в исходной книге преобразуются в свои текущие значения. Например, если разорвать связь с внешней ссылкой = сумм ([бюджет.xls] Годовой! C10: C25), формула СУММ заменяется вычисленное значение — объекты, которые могут быть. Кроме того поскольку этой действие нельзя отменить, рекомендуется сохранить версию конечной книги в качестве резервной копии.
Если вы используете диапазона внешних данных, параметра в запросе могут использовать данные из другой книги. Вы можете обнаружить и удалить любой из этих типов связей.
Разрыв связи
На вкладке Данные в группе Подключения нажмите кнопку Изменить связи.
Примечание: Отсутствие команды Изменить связи означает, что файл не содержит связанных данных.
В списке Источник выберите связь, которую требуется разорвать.
Для выделения нескольких связанных объектов, удерживайте нажатой клавишу CTRL и щелкните каждый связанный объект.
Чтобы выделить все связи, нажмите клавиши CTRL+A.
Щелкните элемент Разорвать.
Удаление имени определенной ссылки
Если ссылка используется определенный имя, имя автоматически не удаляется. Может потребоваться удалить имя также, выполнив следующие действия:
На вкладке Формулы в группе Определенные имена нажмите кнопку Диспетчер имен.
В диалоговом окне Диспетчер имен щелкните имя, которое нужно изменить.
Щелкните имя, чтобы выделить его.
Нажмите кнопку Удалить.
Нажмите кнопку ОК.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Как разорвать связи в Excel
Описание проблемы
Когда в формуле вы указываете ссылку на другую книгу, то Excel образует с ней связь. Эта связь будет прекрасно работать и обновляться автоматически в том случае, когда открыты обе книги.
К сожалению, если книга-источник была удалена/перемещена или переименована, то связь нарушится. Также связь будет потеряна если вы переместите конечный файл (содержащий ссылку). Если вы передадите только конечный файл по почте, то получатель тоже не сможет обновить связи.
При нарушении связи, ячейки со ссылками на другие книги будут содержать ошибки #ССЫЛКА.
Как разорвать связь
Один из способов решения данной проблемы — разрыв связи. Если в файле только одна связь, то сделать это довольно просто:
- Перейдите на вкладку Данные.
- Выберите команду Изменить связи в разделе Подключения.
- Нажмите Разорвать связь.
ВАЖНО! При разрыве связи все формулы ссылающиеся на книгу-источник будут преобразованы в значения! Отмена данной операции невозможна!
Как разорвать связь со всеми книгами
Для удобства, можно воспользоваться макросом, который разорвет связи со всеми книгами. Макрос входит в состав надстройки VBA-Excel. Чтобы им воспользоваться необходимо:
- Перейти на вкладку VBA-Excel.
- В меню Связи выбрать команду Разорвать все связи.
Код на VBA
Код макроса удаляющего все связи с книгой представлен ниже. Можете скопировать его в свой проект.
Как разорваться связи только в выделенном диапазоне
Иногда в книге имеется много связей и есть опасения, что при удалении связи можно удалить лишнюю. Чтобы этого избежать с помощью надстройки можно удалить связи только в выделенном диапазоне. Для этого:
- Выделите диапазон данных.
- Перейдите на вкладку VBA-Excel (доступна после установки).
- В меню Связи выберите команду Разорвать связи в выделенных ячейках.
Как удалить (разорвать) связи в документе Word, Excel
При открытии документа MS Word появляется предупреждение о наличии связных документов (связей) в исходном документе:
Такое предупреждение появляется, когда в документе есть ссылки на другие документы (например, на таблицу Excel). Удалить (разорвать) связи в документе MS Word возможно с помощью следующих несложных действий:
(Инструкция для версии MS Word 2016)
1. Открыть исходный документ для редактирования (меню «Вид» — «Изменить документ«):
2. В меню «Файл» выбрать пункт «Сведения«:
3. В разделе «Связные документы» нажимаем пункт «Изменить связи с файлами«:
4. В окне связи возможно удалить связь с другими (внешними) документами с помощью кнопки «Разорвать связь«:
Невозможно разорвать связи с другой книгой
Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в 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 ) -создать стандартный модуль(Insert —Module) и в него вставить скопированный текст. После чего вызвать макросы( 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-е?
Такая ситуация — есть Excel-файл со сложной структурой, и незнаю как но на один лист имеются связи с другими файлами. При открытии спрашивает обновить нет. В меню Правка-Связи их видно, но как от них избавиться? Помогает такое — скопировать содержимое листа, создать новый и вставить туда, а старый удалить. Но при этом все имена Range-ей исчезают а они очень нужны. Кто знает как избавиться? Может кто знает как это можно вырезать из файла? Пробовал в байтах найти похожую строку, удалял — рушился файл.
Большое спасибо!
Как при получении Workbook Excel не обновлять связи файла
Получаю объект: Dim objDWE As Object objDWE = GetObject(strPTmp & «TempPas.xls»)Но этот объект.
Как убрать подтверждение на удаление в Excel
Есть програмулька на VBA она удаляет лист с данными — Excel требует это подтвердить , как от этого.
Как в excel убрать дубликаты записей?
необходимо из двух (трех и т.д.) таблиц сделать одну , а потом убрать повторяющиеся записи.
Как убрать или заменить иконку Excel?
Собственно как 🙂 И возможно ли это вообще. убрать иконку Excel. или заменить её на другую.
Как в Excel с помощью VBA убрать все меню?
Как в Excel с помощью VBA убрать все меню, к примеру оставить только (Файл, Правка, Вид).
‘Моя книга содержит связи’. Как избавится от этого сообщения ?
Внешние связи могут быть в:
в формулах:
Найдите имя связанного файла в меню [Редактирование / Связи]
Ищите это имя в формулах ячеек на всех листах
в именах:
Просмотрите список имен в меню [Вставить / Имя / Определить]
в кнопках:
Просмотрите какие макросы назначены на кнопки.
Это я почерпнул из FAQ конференции comp.apps.spreadsheets . Вообще-то насколько я знаю в диаграммах также могут содержаться ссылки на диапазоны данных по которым они строятся. Теоритически там также могут быть внешние ссылки.
А вообще, ищи макросом квадратные скопки по всем листам, анализируй. в общем несложно, но лениво
Как программно убрать пунктирную рамку после печати документа в Excel.
Всем доброго времени суток! Для печати документа (страницы) в Excel используется команда Файл ->.
WORD6+EXCEL (замена связи)
файл WORD имеют поля (подсвечиваются серым ) связи с Excel . Вопрос: Как поменять все связи в.
Обновить связи в Excel (нужен Help)
Господа! Помогите ПЛЗ. Нужен макрос, который отключает автоматическое обновление связей при.