Логотип

+7 (977) 834-82-00

info@vba-excel.ru

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

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

 

Добавить в Excel!

Установите программу

*Этого функционала нет в стандартном Excel

 Скачали:  24 768 чел.

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

Разорвать связь Excel

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

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

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

 

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

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

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

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

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

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

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

Код на VBA

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

Установка

Обращаем Ваше внимание, что функционал, описанный в данной статье, ОТСУТСТВУЕТ в Excel.

Чтобы его добавить, необходимо установить надстройку VBA-Excel. Данная программа содержит более сотни функций, которые сделают работу с Excel в разы эффективней. С ней рутинные задачи будут занимать считанные секунды. Программой уже воспользовались 24 768 чел., попробуйте и Вы!


Установите программу

Ссылки по теме

  1. Обновление всех связей в книге

Комментарии:

comments powered by Disqus