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.
Нужна дополнительная помощь?
Коммуникация — очень полезная функция Excel. На самом деле очень часто пользователям приходится использовать информацию из других файлов. Но в некоторых ситуациях они способны причинить больше вреда, чем пользы. Ведь, например, если вы отправите эти файлы по почте, ссылки окажутся неработоспособными. Сегодня мы более подробно поговорим о том, что делать, чтобы избежать такой проблемы.
Ссылки в Excel чаще всего используются вместе с такими функциями, как ВПР, для извлечения информации из другой книги. Это может быть специальная ссылка, содержащая адрес не только ячейки, но и книги, в которой находятся данные. В результате эта ссылка выглядит так: = VLOOKUP (A2; ‘[Sales 2018.xlsx] Report’! $ A: $ F; 4; 0). Или, для упрощения представления, представьте адрес в следующей форме: = ‘Report [Sales 2018.xlsx]’! $ A1. Давайте посмотрим на каждый из соединительных элементов этого типа:
- [Продажи 2018.xlsx]. Этот фрагмент содержит ссылку на файл, из которого вам нужно получить информацию. Его еще называют источником.
- Отношение. Мы использовали следующее имя, но это не обязательно. Этот блок содержит имя листа, на котором вы хотите найти информацию.
- $ A: $ F и $ A1 — это адрес ячейки или диапазона с данными, содержащимися в этом документе.
Фактически, процесс создания ссылки на внешний документ называется ссылкой. После регистрации адреса ячейки, содержащейся в другом файле, содержимое вкладки «Данные» изменяется. А именно: становится активной кнопка «Изменить ссылки», с помощью которой пользователь может изменять существующие ссылки.
Суть проблемы
Как правило, дополнительных сложностей в использовании подключений не возникает. Даже если есть ситуация, когда ячейки меняются, все ссылки обновляются автоматически. Но если вы уже переименуете саму книгу или переместите ее на другой адрес, Excel станет бессильным. Таким образом выдает следующее сообщение.
Здесь у пользователя есть два возможных варианта действий в этой ситуации. Он может нажать «Продолжить», и тогда изменения не будут обновлены, или он может нажать кнопку «Изменить ссылки», с помощью которой он сможет обновить их вручную. После нажатия на эту кнопку появится дополнительное окно, в котором вы можете редактировать ссылки, указав, где в данный момент находится нужный файл и как он называется.
Кроме того, можно изменить ссылки, используя соответствующую кнопку, расположенную на вкладке «Данные». Пользователь также может узнать, что соединение разорвано, из-за ошибки #LINK, которая появляется, когда Excel не может получить доступ к информации, расположенной по определенному адресу, из-за того, что сам адрес недействителен.
Как разорвать связь в Эксель
Один из простейших способов разрешить описанную выше ситуацию, если вы не можете самостоятельно обновить расположение связанного файла, — удалить саму ссылку. Это особенно легко сделать, если документ содержит только одну ссылку. Для этого вам необходимо выполнить следующую последовательность действий:
- Откройте меню «Данные».
- Находим раздел «Подключения» и там — опцию «Изменить подключения».
- Затем нажмите «Отключить соединение».
Если вы собираетесь отправить эту книгу кому-нибудь еще, мы настоятельно рекомендуем сделать это раньше. Ведь после удаления ссылок все значения, содержащиеся в другом документе, будут автоматически загружены в файл, использованы в формулах, а вместо адреса ячейки информация в соответствующих ячейках будет просто преобразована в значения.
Как разорвать связь со всеми книгами
Но если количество ссылок становится слишком большим, их удаление вручную может занять много времени. Решить эту проблему за один раз можно с помощью специального макроса. Он находится в надстройке VBA-Excel. Вам необходимо активировать его и перейти на одноименную вкладку. Будет раздел «Ссылки», в котором мы должны нажать кнопку «Разорвать все ссылки».
Код на VBA
Если вы не можете активировать это дополнение, вы можете создать макрос самостоятельно. Для этого откройте редактор Visual Basic, нажав Alt + F11, и напишите следующие строки в поле ввода кода.
Sub UnlinkWorkBooks()
Тусклый WbLink
Тусклый я пока
Выберите Case MsgBox («Все ссылки на другие книги будут удалены из этого файла, а формулы, которые ссылаются на другие книги, будут заменены значениями». & VbCrLf & «Вы уверены, что хотите продолжить?», 36, «Разорвать ссылку?»)
Дело 7 «No
Выйти ниже
Конец выбора
WbLinks = ActiveWorkbook.LinkSources (Тип: = xlLinkTypeExcelLinks)
Если не пусто (WbLinks) Тогда
Для i = 1 для UBound (WbLinks)
ActiveWorkbook.BreakLink Имя: = WbLinks (i), Тип: = xlLinkTypeExcelLinks
Следующий
Другой
MsgBox «В этом файле нет ссылок на другие книги.», 64, «Ссылки на другие книги»
Конец, если
Конец подзаголовка
Как разорвать связи только в выделенном диапазоне
Время от времени количество ссылок очень велико и пользователь опасается, что после удаления одной из них он не сможет вернуть все без надобности. Но этой проблемы легко избежать. Для этого вам нужно выбрать диапазон, в котором нужно удалить ссылки, а затем удалить их. Для этого вам необходимо выполнить следующую последовательность действий:
- Выберите набор данных, в который вы хотите внести изменения.
- Установите надстройку VBA-Excel, затем перейдите на соответствующую вкладку.
- Затем найдите меню «Ссылки» и нажмите кнопку «Разорвать ссылки в выбранных диапазонах».
После этого все ссылки в выбранном наборе ячеек будут удалены.
Что делать, если связи не разрываются
Все описанное выше звучит неплохо, но на практике всегда есть какие-то нюансы. Например, может возникнуть ситуация, когда соединения не разорваны. В этом случае по-прежнему отображается диалоговое окно, что ссылки не могут быть обновлены автоматически. Что делать в этой ситуации?
- Во-первых, вам нужно проверить, содержится ли какая-либо информация в названных диапазонах. Для этого нажмите комбинацию клавиш Ctrl + F3 или откройте вкладку «Формулы» — «Диспетчер имен». Если имя файла полное, вам просто нужно его отредактировать или удалить совсем. Перед удалением именованных диапазонов вам необходимо скопировать файл в другое место, чтобы вы могли вернуться к исходной версии, если вы сделаете что-то неправильно.
- Если вы не можете решить проблему, удалив имена, вы можете проверить условное форматирование. Вы можете ссылаться на ячейки из другой таблицы в правилах условного форматирования. Для этого нужно найти соответствующий пункт на вкладке «Главная», затем нажать кнопку «Диспетчер файлов».
Обычно Excel не предлагает возможности предоставить адрес других книг в условном форматировании, но это делается путем ссылки на именованный диапазон со ссылкой на другой файл. Обычно даже после удаления ссылки ссылка остается. Удалить такую ссылку не составит труда, потому что она фактически не работает. Поэтому ничего плохого не произойдет, если вы его удалите.
Вы также можете использовать функцию проверки данных, чтобы увидеть, нет ли ненужных ссылок. Ссылки обычно остаются, если используется тип проверки данных «Список». Но что делать, если ячеек много? Неужели нужно постоянно проверять каждую из них? Очевидно нет. В конце концов, это займет много времени. Поэтому необходимо использовать специальный код, чтобы сохранить его значимым образом.
Явный вариант
‘—————————————————————————————
Автор: The_Prist (Дмитрий Щербаков)
‘Профессиональная разработка приложений MS Office любой сложности
‘Проведение обучающих курсов в MS Excel
https://www.excel-vba.ru
‘info@excel-vba.ru
WebMoney — R298726502453; Яндекс.Деньги — 41001332272872
‘Сфера:
‘—————————————————————————————
Sub FindErrLink()
‘вам нужно посмотреть ссылку Data — Изменить ссылки на исходный файл
‘и напишите здесь ключевые слова в нижнем регистре (часть имени файла)
‘звездочка просто заменяет любое количество символов, поэтому вам не важно точное имя
Const sToFndLink $ = «* продажи за 2018 год*»
Dim rr As Range, rc As Range, rres As Range, s$
‘определить все ячейки с проверкой данных
В случае ошибки Продолжить Далее
Установите rr = ActiveSheet.UsedRange.SpecialCells (xlCellTypeAllValidation)
Если rr ничего, тогда
MsgBox «На активном листе нет ячеек с проверкой данных», vbInformation, «www.excel-vba.ru»
Выйти ниже
Конец, если
При ошибке Перейти к 0
‘проверить каждую ячейку на наличие соединений
Для каждого rc In rr
‘на всякий случай пропустим ошибки — это тоже может быть
‘но наши связи должны быть без них, и они обязательно будут найдены
s = «»
В случае ошибки Продолжить Далее
s = rc.Convalida.Formula1
При ошибке Перейти к 0
‘нашел — все собираем в отдельный ряд
Если LCase (s) как sToFndLink, то
Если ничего нет, то
Установите rres = rc
Другой
Установить rres = Union (rc, rres)
Конец, если
Конец, если
Следующий
‘если есть соединение, выберите все ячейки с этими элементами управления данными
Если ничего нет, то
rres.Select
‘rres.Interior.Color = vbRed’, если вам также нужно выделить цветом
Конец, если
Конец подзаголовка
вам нужно создать стандартный модуль в редакторе макросов, а затем поместить туда этот текст. Далее вызываем окно макроса с помощью комбинации клавиш Alt + F8, затем выбираем наш макрос и нажимаем кнопку «Выполнить». При использовании этого кода необходимо учитывать несколько моментов:
- Прежде чем искать ссылку, которая больше не актуальна, вы должны сначала определить внешний вид ссылки, по которой она была создана. Для этого зайдите в меню «Данные» и найдите пункт «Редактировать ссылки». Далее нужно посмотреть имя файла и указать его в кавычках. Например, вот так: Const sToFndLink $ = «* 2018 продажи*»
- имя можно написать не полностью, а просто заменить ненужные символы звездочкой. И в кавычках пишите имя файла строчными буквами. В этом случае Excel найдет в конце все файлы, содержащие эту строку.
- Этот код может проверять ссылки только на текущем активном листе.
- С помощью этого макроса вы можете выбрать только найденные ячейки. Придется удалить все вручную. Это преимущество, потому что вы можете все перепроверить.
- Вы также можете выделить ячейки специальным цветом. Для этого удалите апостроф перед этой строкой rres.Interior.Color = vbRed
Обычно после выполнения действий, описанных в приведенных выше инструкциях, ненужные ссылки больше не должны оставаться. Но если они есть в документе и ваша неспособность по той или иной причине их удалить (типичный пример — безопасность данных на листе), вы можете использовать другую последовательность действий. Эта инструкция действительна только для версий 2007 и более поздних версий.
- Сделайте резервную копию документа.
- Откроем этот документ с помощью архиватора. Вы можете использовать любой формат, поддерживающий формат ZIP, но WinRar, а также тот, который встроен в Windows, будет.
- В появившемся архиве нужно найти папку xl и открыть там externalLinks.
- В этой папке находятся все внешние ссылки, каждая из которых соответствует файлу формата externalLink1.xml. Все только пронумерованы, поэтому пользователь не может понять, что это за соединение. Чтобы разобраться, что за подключение, нужно открыть папку _rels и посмотреть ее там.
- Затем мы удаляем все определенные ссылки на основе того, что мы узнали из файла externalLinkX.xml.rels.
- Далее открываем наш файл с помощью Excel. Появится информация об ошибке, например «Ошибка в части содержания книги». Даём согласие. После этого появится другое диалоговое окно. Закрываем.
После этого все ссылки необходимо удалить.
В Excel мы обычно создаем некоторые внешние ссылки для некоторых целей, однако после завершения конкретной цели вы можете найти и разорвать все внешние ссылки. Здесь я расскажу вам о способах быстрого поиска и взлома внешних ссылок.
Находите и разрушайте внешние ссылки с помощью функции редактирования ссылки
Найти и удалить внешние ссылки с помощью Kutools for Excel
Находите и разрушайте внешние ссылки с помощью функции редактирования ссылки
Если вы хотите найти и разорвать внешние ссылки, вы можете применить функцию «Редактировать ссылку».
1. Нажмите Данные > Редактировать ссылки. Смотрите скриншот:
2. в Редактировать ссылки выберите книгу, внешние ссылки которой вы хотите разорвать, а затем щелкните Разорвать ссылку. Смотрите скриншот:
3. В появившемся диалоговом окне с предупреждением щелкните значок Разрыв ссылок кнопка. Смотрите скриншот:
4. Затем повторите шаг 2, чтобы разорвать все внешние ссылки из всей книги. После удаления всех внешних ссылок закройте Редактировать ссылки диалоговое окно.
Найти и удалить внешние ссылки с помощью Kutools for Excel
С помощью вышеуказанного метода вы сломаете все внешние ссылки из одной и той же книги, но иногда вам может потребоваться сломать некоторые внешние ссылки с разных листов, в этом случае вы можете использовать Kutools for ExcelАвтора Найдите и сломайте неработающие ссылки функция для решения.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:
1. Нажмите Кутулс > Ссылка > Найдите и сломайте неработающие ссылки. Смотрите скриншот:
2. в Найдите и сломайте неработающие ссылки вы можете увидеть, что все внешние ссылки перечислены в диалоговом окне, и отметьте ссылки, которые вы хотите разорвать, а затем нажмите Разорвать ссылку чтобы разорвать все отмеченные ссылки.
Наконечник:
1. в Найдите и сломайте неработающие ссылки В диалоговом окне вы можете фильтровать ссылки на основе связанного листа, выбрав имя листа из раскрывающегося списка Фильтр.
2. Вы также можете просмотреть ячейку в реальном времени, щелкнув ссылку в Найдите и сломайте неработающие ссылки диалог после проверки Просмотр ячейки опцию.
Относительные статьи:
- Как разделить дату и время из ячейки на две ячейки в Excel?
- Как быстро добавить часы / минуты / секунды к дате и времени в Excel?
- Как преобразовать гиперссылки в простой текст в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Комментарии (0)
Оценок пока нет. Оцените первым!
Связь – это очень полезная возможность 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. Там будет информация об ошибке типа «Ошибка в части содержимого в Книге». Даем согласие. После этого появится еще один диалог. Закрываем его.
После этого все связи должны быть удалены.
Оцените качество статьи. Нам важно ваше мнение:
Надстройка PLEX для Microsoft Excel 2007-2021 и Office 365
Разорвать/Открыть связи с другими книгами
Разорвать все связи
Типичная ситуация: нужно быстро избавиться в файле от ссылок в формулах на другие книги Excel, заменив эти ссылки на значения. Это может быть необходимо для последующей пересылки файла клиенту (он не должен обновлять книгу), ускорения работы (не нужно время на обновление связей) и т.п.
Важные особенности:
- Это касается сразу всех внешних ссылок на всех листах и во всех формулах. Если хотите удалить ссылки на конкретные отдельные внешние файлы-источники, то используйте команду Изменить связи на вкладке Данные (Data — Edit Links). Если нужно заменить формулы на значения в конкретном диапазоне, то используйте макрос В значения.
- Внутренние ссылки между ячейками и листами остаются неизменными.
Зачем мне это может быть нужно?
Наверняка Вы получали по электронной почте книги Excel, при открытии которых они долго и мучительно пытаются обновить связи с другими файлами, которые Вам недоступны. Перед отправкой копии файла другому пользователю лучше разорвать связи. Тогда Вашему коллеге не придется при открытии файла отвечать на вопросы об обновлении связей и он не увидит ошибки #ССЫЛКА! вместо данных, которые Excel не может получить по связям на его компьютере.
Может ли это повредить мои данные?
Да, поскольку формулы необратимо заменяются на значения. Лучше проделывать эту операцию в копии файла перед ее отправкой другому пользователю.
Открыть все связи
Открываются все внешние файлы-источники, на которые есть ссылки в текущей книге. Если их много, то, возможно, придется подождать. Обычно такая процедура необходима для корректного обновления связей в файле (Excel плохо умеет обновлять данные из закрытых книг).
Открыть гиперссылки
Если выделить диапазон ячеек с адресами и нажать на эту кнопку, то все указанные сайты откроются на вкладках вашего обозревателя.
Обратите внимание, что ссылки должны быть правильно записаны (с http).
Полный список всех инструментов надстройки PLEX