Поиск ссылок (внешних ссылок) в книге
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Связывание с другими книгами — очень распространенная задача в Excel, но иногда вы можете найти книгу, которая ссылок не может найти, хотя Excel сообщает о том, что она существует. Нет способа автоматического поиска всех внешних ссылок, используемых в книге, однако существует несколько способов, используемых вручную. Вам нужно искать формулы, определенные имена, объекты (например, текстовые поля или фигуры), названия диаграмм и ряды данных диаграммы.
Имя любой Excel книги, с помощью ссылки на которую вы ссылались, будет связана с расширением XL* (например, .xls, .xlsx, XLSM), поэтому рекомендуемый способ — найти все ссылки на частичное расширение XL. Если вы ссылались на другой источник, необходимо определить оптимальный поисковый запрос.
Поиск ссылок, используемых в формулах
-
Нажмите CTRL+F, чтобы запустить диалоговое окно Найти и заменить.
-
Нажмите кнопку Параметры.
-
В поле Найти введите.xl.
-
В поле В пределах выберите книга.
-
В поле Искать в выберите формулы.
-
Нажмите кнопку Найти все.
-
В отображемом списке наймем в столбце Формула формул, содержащих XL. В этом случае Excel найдено несколько экземпляров функции бюджетного Master.xlsx.
-
Чтобы выбрать ячейку с внешней ссылкой, щелкните ссылку на эту строку в списке.
Совет: Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.
-
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
-
Проверьте каждую запись в списке и проверьте, нет ли в столбце Ссылка внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget.xlsx].
Советы:
-
Щелкните любой за колонок, чтобы отсортировать столбец и сгруппировать все внешние ссылки.
-
Если вы хотите удалить сразу несколько элементов, можно сгруппнуть несколько элементов, нажав клавишу SHIFT или CTRL и щелкнув левой кнопкой мыши.
-
-
Нажмите клавиши CTRL+G, нажмите клавиши CTRL+G, чтобы перейти в диалоговое окно Перейти, а затем выберите специальные > объекты > ОК. При этом будут выбраны все объекты на активном сайте.
-
Нажимая клавишу TAB, переходить между выбранными объектами, а затем искать в строка формул ссылку на другую книгу, например [Budget.xlsx].
-
Щелкните название диаграммы, которую вы хотите проверить.
-
В строка формул наймем ссылку на другую книгу, например [Budget.xls].
-
Выберите диаграмму, которую нужно проверить.
-
На вкладке Макет в группе Текущий выделение щелкните стрелку рядом с полем Элементы диаграммы и выберите ряд данных, которые нужно проверить.
-
На строка формул , наймем ссылку на другую книгу, например [Budget.xls] в функции РЯД.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Исправление недействительных ссылок
Разрыв связи с внешним ресурсом в Excel
Управление обновлением внешних ссылок (связей)
Нужна дополнительная помощь?
Одна из величайших возможностей Microsoft Excel — возможность связываться с другими книгами. Поэтому, если придет время, когда вам нужно будет найти те ссылки на книги, которые вы включили, вам нужно будет знать, с чего начать.
Общий поиск ссылок на книги прост, если вы просматриваете только текст в ячейках. Но если у вас есть книги, связанные формулами, определенными именами, диаграммами или объектами, это не очевидный поиск. Вот как найти ссылки на другие книги в Microsoft Excel с помощью сочетания встроенных инструментов и ваших собственных глаз.
Поиск ссылок на книги в формулах
Помимо простой ссылки на перекрестную ссылку в тексте некоторых ячеек, формулы являются обычным местом для включения ссылок на книги. В конце концов, извлечение данных из другого листа, который рассчитывается с использованием текущего листа, — это мощный способ использовать Excel.
Начните с открытия функции поиска. Вы можете сделать это с помощью Ctrl + f или «Найти и выделить»> «Найти» на ленте на вкладке «Главная».
Когда откроется окно «Найти и заменить», вам нужно будет ввести только три части информации. Нажмите «Параметры» и введите следующее:
- Найдите что: введите «.xl»
- Внутри: выберите «Рабочая тетрадь»
- Загляните внутрь: выберите «Формулы»
Нажмите «Найти все», чтобы получить результаты.
Вы должны увидеть свои связанные книги в разделе «Книга». Вы можете щелкнуть заголовок этого столбца для сортировки в алфавитном порядке, если у вас есть ссылки на несколько книг.
Совет: Вы также можете использовать диалоговое окно «Найти», чтобы найти ссылки книги в значениях, примечаниях и комментариях. Просто выберите один из этих вариантов вместо формул в раскрывающемся списке «Искать».
Поиск ссылок на книгу в определенных именах
Еще одно распространенное место для внешних ссылок в Excel — это ячейки с определенными именами. Как вы знаете, присвоить ячейке или диапазону значимое имя, особенно если оно содержит ссылку на ссылку, удобно.
Хотя диалоговое окно поиска и выбора для поиска, как и для формул, в настоящее время недоступно, вы можете извлечь все определенные имена в своей книге. Затем просто поищите ссылки на книги.
Перейдите на вкладку «Формулы» и нажмите «Диспетчер имен».
Когда откроется окно диспетчера имен, вы можете найти книги в столбце «Ссылается на». Поскольку они имеют расширение XLS или XLSX, вы сможете легко их обнаружить. При необходимости вы также можете выбрать один, чтобы увидеть полное имя книги в поле «Ссылается на» в нижней части окна.
Поиск ссылок на книги в диаграммах
Если вы используете Microsoft Excel для размещения данных в удобной диаграмме и получаете больше данных из другой книги, эти ссылки довольно легко найти.
Выберите свою диаграмму и перейдите на вкладку «Формат», которая появится после того, как вы это сделаете. В крайнем левом углу ленты щелкните раскрывающийся список «Элементы диаграммы» в разделе «Текущий выбор».
Выберите серию данных из списка, в котором вы хотите найти ссылку на книгу.
Затем переместите взгляд на строку формул. Если у вас есть связанная книга, вы увидите ее здесь, обозначенную расширением Excel. И вы можете таким же образом проверить каждую серию данных в своей диаграмме.
Если вы считаете, что у вас есть книга, связанная в заголовке диаграммы, а не в серии данных, просто щелкните заголовок диаграммы. Затем взгляните на строку формул книги Microsoft Excel.
Найти ссылки книги в объектах
Точно так же, как вставку PDF-файла в лист Excel с помощью объекта, вы можете сделать то же самое для своих книг. К сожалению, когда дело доходит до поиска ссылок на другие книги, объекты являются самым утомительным элементом. Но с этим советом вы можете ускорить процесс.
Откройте диалоговое окно «Перейти к специальному». Вы можете сделать это с помощью Ctrl + g или «Найти и выделить»> «Перейти к специальному» на ленте на вкладке «Главная».
Выберите «Объекты» в поле и нажмите «ОК». Это выберет все объекты в вашей книге.
Для первого объекта найдите диаграммы в строке формул (как показано выше). Затем нажмите клавишу Tab, чтобы перейти к следующему объекту и сделать то же самое.
Вы можете продолжать нажимать Tab и смотреть на строку формул для каждого объекта в вашей книге. Когда вы снова приземляетесь на первый объект, который вы просмотрели, вы прошли их все.
Запомните эти полезные советы, когда в следующий раз вам понадобится найти ссылку на книгу в Microsoft Excel.
Коля nilem написал мне классный макрос котроый рвет все связи и при этом не трогает формулы листа..давно хотел прорекламировать -очень полезная штука может адаптируете себе для поиска таких ячеек.
Option Explicit
Option Compare Text
‘—————————————————————————————
‘ Module : Module1
‘ Author : Николай (nilem)
‘ Date : 05.09.2011
‘ Purpose : Mikki
‘—————————————————————————————
Sub CopyWithoutRef()
‘Dim tm!: tm = Timer
Dim r As Range, s As String, nm As Name
With Application
.ScreenUpdating = 0: .Calculation = xlCalculationManual
End With
ActiveSheet.Copy after:=ActiveSheet
With ActiveSheet
For Each r In .UsedRange.SpecialCells(xlCellTypeFormulas).Cells
s = r.Formula
If InStr(1, s, «!», vbTextCompare) Then
r.Value = r.Value
Else
For Each nm In ThisWorkbook.Names
If InStr(1, s, nm.Name, vbTextCompare) Then r.Value = r.Value: Exit For
Next nm
End If
Next r
End With
With Application
.ScreenUpdating = 1: .Calculation = xlCalculationAutomatic
End With
‘MsgBox Timer — tm
End Sub
‘Private Sub rtyrty()
‘Dim msg As String, nm As Name
»For Each nm In ActiveSheet.Names
‘For Each nm In ThisWorkbook.Names
‘ If nm.Visible = False Then
‘ msg = msg & «имя: » & nm.Name & vbCrLf
‘ End If
‘Next nm
‘MsgBox msg, 64
‘End Sub
‘—————————————————————————————
‘ Module : Module1
‘ Author : Николай (nilem)
‘ Date : 05.09.2011
‘ Purpose : Mikki
‘—————————————————————————————
Sub ertert()
Dim x, i&, ch As ChartObject, nm$
Application.ScreenUpdating = False
With Sheets(«Перевод»)
x = .Range(«B3:C» & .Cells(Rows.Count, 2).End(xlUp).Row).Value
End With: nm = ActiveSheet.Name
ActiveSheet.Copy after:=ActiveSheet
On Error Resume Next
With ActiveSheet
With .UsedRange.SpecialCells(2) ‘ константы
For i = 1 To UBound(x)
.Replace x(i, 1), x(i, 2)
Next i
End With
With .UsedRange.SpecialCells(-4123) ‘ формулы
For i = 1 To UBound(x)
.Replace x(i, 1) & » «, x(i, 2) & » «, xlPart
Next i
End With
For Each ch In .ChartObjects ‘ диаграммы
If ch.Chart.HasTitle = True Then
With ch.Chart.ChartTitle
For i = 1 To UBound(x)
If .Text = x(i, 1) Then .Text = x(i, 2): Exit For
Next i
End With
End If
Next ch
.Name = nm & «P» ‘P англ.
End With
Application.ScreenUpdating = True
End Sub
Как разорвать связи в Excel
Описание проблемы
Когда в формуле вы указываете ссылку на другую книгу, то Excel образует с ней связь. Эта связь будет прекрасно работать и обновляться автоматически в том случае, когда открыты обе книги.
К сожалению, если книга-источник была удалена/перемещена или переименована, то связь нарушится. Также связь будет потеряна если вы переместите конечный файл (содержащий ссылку). Если вы передадите только конечный файл по почте, то получатель тоже не сможет обновить связи.
При нарушении связи, ячейки со ссылками на другие книги будут содержать ошибки #ССЫЛКА.
Как разорвать связь
Один из способов решения данной проблемы — разрыв связи. Если в файле только одна связь, то сделать это довольно просто:
- Перейдите на вкладку Данные.
- Выберите команду Изменить связи в разделе Подключения.
- Нажмите Разорвать связь.
ВАЖНО! При разрыве связи все формулы ссылающиеся на книгу-источник будут преобразованы в значения! Отмена данной операции невозможна!
Как разорвать связь со всеми книгами
Для удобства, можно воспользоваться макросом, который разорвет связи со всеми книгами. Макрос входит в состав надстройки VBA-Excel. Чтобы им воспользоваться необходимо:
- Перейти на вкладку VBA-Excel.
- В меню Связи выбрать команду Разорвать все связи.
Код на VBA
Код макроса удаляющего все связи с книгой представлен ниже. Можете скопировать его в свой проект.
Как разорваться связи только в выделенном диапазоне
Иногда в книге имеется много связей и есть опасения, что при удалении связи можно удалить лишнюю. Чтобы этого избежать с помощью надстройки можно удалить связи только в выделенном диапазоне. Для этого:
- Выделите диапазон данных.
- Перейдите на вкладку VBA-Excel (доступна после установки).
- В меню Связи выберите команду Разорвать связи в выделенных ячейках.
Microsoft Excel
трюки • приёмы • решения
Как в Excel отобразить связанные ячейки
В Excel имеется очень полезная возможность отображения связанных ячеек. Так, можно для ячейки с формулой отобразить связи — ячейки, значения из которых используются в формуле. Кроме того, установив табличный курсор в какую-либо ячейку, можно просмотреть, в каких формулах она участвует. При этом вес связи отображаются в виде стрелок.
Чтобы отобразить связи с ячейками, участвующими в данной формуле, следует установить табличный курсор на ячейку с формулой и на вкладке Формулы ленты инструментов нажать кнопку Влияющие ячейки. В результате к ячейке устремятся стрелочки, отходящие от ячеек, участвующих в формуле (рис. 1.12).
Рис. 1.12. Влияющие ячейки
Чтобы наглядно увидеть, на какие другие ячейки влияет значение какой-либо из ячеек, следует установить на нее табличный курсор и на вкладке Формулы ленты инструментов нажать кнопку Зависимые ячейки. В результате от ячейки с формулой отойдут стрелочки, указывающие на зависимые ячейки (рис. 1.13). Необходимо иметь в виду, что связи показываются только с теми ячейками, на которые впрямую влияет значение выбранной ячейки. Связь не отображается в случае косвенного влияния, когда первая ячейка влияет на вторую, а вторая влияет на третью. В этом случае первая ячейка косвенно влияет на значение в третьей ячейке, но связь в таком случае не отображается.
Рис. 1.13. Зависимые ячейки
Подобные связи можно отобразить сразу для нескольких ячеек, построив таким образом своеобразную карту взаимосвязей ячеек таблицы. При этом можно одновременно отображать связи разного тина (и влияющие, и зависимые ячейки).
Чтобы убрать с экрана отображенные связи, на вкладке Формулы ленты инструментов достаточно нажать кнопку Убрать стрелки. В результате будут скрыты все отображенные ранее связи. В том случае, если требуется скрыть связи только определенного типа (иллюстрирующие влияющие связи или зависимые), следует щелкнуть мышкой по стрелочке, расположенной рядом с кнопкой Убрать стрелки, и в появившемся меню выбрать, какие именно стрелки необходимо убрать (рис. 1.14).
Рис. 1.14. Сокрытие ненужных стрелок
Если ваша версия Excel на английском языке, то вам стоить посетить курсы, которые открыла школа английского языка и несомненными преимуществами которой являются следующие: соответствие школьной программе обучения, простота, наглядность и доступность изложения материала, большое количество и разнообразие упражнений для практики, наличие упражнений разной степени сложности, универсальность использования вне зависимости от базового учебника, соответствие возрастным особенностям и возможностям учащихся.
Поиск ссылок (внешних ссылок) в книге
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Связывание с другими книгами — это очень распространенная задача в Excel, но иногда вы можете столкнуться с книгой, в которой есть ссылки, даже если Excel сообщает, что они существуют. Найти все внешние ссылки, которые используются в книге, не существует. Однако вы можете воспользоваться несколькими ручными методами. Необходимо искать формулы, определенные имена, объекты (такие как текстовые поля или фигуры), названия диаграмм и ряды данных диаграммы.
В любой книге Excel, на которую вы ссылались, есть имя файла этой книги в ссылке с расширением (например, XLS, XLSX, xlsm), поэтому рекомендуемый способ — найти все ссылки на разделяемое расширение файла . XL . Если вы собираетесь создать связь с другим источником, вам нужно будет определить наиболее подходящее условие поиска.
Поиск ссылок, используемых в формулах
Нажмите клавиши CTRL + F , чтобы открыть диалоговое окно Поиск и замена .
Выберите пункт Параметры.
В поле найти введите . XL.
В поле в выберите пункт Книга.
В поле Искать в выберите пункт формулы.
Нажмите кнопку найти все.
В появившемся списке просмотрите формулы с формулами, которые содержат . XL. В этом случае приложение Excel обнаружило несколько экземпляров шаблона бюджета Master. xlsx.
Чтобы выделить ячейку с внешней ссылкой, щелкните ссылку адрес ячейки для этой строки в поле со списком.
Совет: Щелкните любой заголовок столбца, чтобы отсортировать столбец, а затем сгруппируйте все внешние ссылки.
На вкладке Формулы в группе Определенные имена выберите пункт Диспетчер имен.
Установите флажки для всех элементов в списке и просмотрите их в столбце » ссылки » для внешних ссылок. Внешние ссылки содержат ссылку на другую книгу, например [Budget. xlsx].
Щелкните любой заголовок столбца, чтобы отсортировать столбец, а затем сгруппируйте все внешние ссылки.
Вы можете сгруппировать несколько элементов с помощью клавиш SHIFT или CTRL , щелкнув левой кнопкой мыши, если вы хотите удалить несколько элементов одновременно.
Нажмите клавиши CTRL + G, сочетание клавиш для диалогового окна Переход и выберите Специальныеобъекты _гт_ _гт_ ОК. Будут выбраны все объекты на активном листе.
Нажимайте клавишу Tab для перемещения между каждым из выбранных объектов, а затем просмотрите строка формул для ссылки на другую книгу, например [Budget. xlsx].
Щелкните название диаграммы на диаграмме, которую нужно проверить.
В строка формул найдите ссылку на другую книгу, например [Budget. xls].
Выберите диаграмму, которую вы хотите проверить.
На вкладке Макет в группе Текущий фрагмент щелкните стрелку рядом с полем элементы диаграммы , а затем выберите ряд данных, который вы хотите проверить.
В строка формул найдите ссылку на другую книгу, например [Budget. xls] в функции ряд.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Невозможно разорвать связи с другой книгой
Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в 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 — это трудоемкая, кропотливая и неприятная работа, но в этой статье я расскажу, как ее облегчить. Для сбора информации из разных источников есть два подхода: внешние ссылки на ячейки, или инструмент «Консолидация».
Внешние ссылки в Excel
Думаю, каждый из Вас знает, что внешняя ссылка в Эксель – это ссылка на ячейку, находящуюся в другой книге. И самый распространенный способ собрать данные из разных источников в одну – как раз внешние ссылки.
Если итоговая таблица достаточно простая, этот способ можно использовать, иначе – легко запутаться, да и утомительно вручную внести несколько сотен ссылок на ячейки, высока вероятность ошибки. Тем не менее, для маленьких таблиц это действительно решение.
Существует много способов сослаться на ячейку с другого листа, или книги. Я расскажу Вам самый простой:
- Откройте все файлы – свод и исходники
- Кликните по ячейке, в которую нужно вставить ссылку, и введите знак равно (как вы это делаете, когда создаете формулы).
- Выберите файл с исходным значением и кликните на этом значении. В строке формул появится ссылка на это значение.
- Если к этому значению нужно прибавить другие из остальных источников – допишите «+» и повторяйте п.3-4 до полного заполнения.
- Когда все ссылки на ячейки сделаны, нажмите Enter , будет просчитан сводный результат.
Внешняя ссылка имеет специфический внешний вид: имя файла в квадратных скобках, имя листа, восклицательный знак, координаты ячейки:
Когда Вы закроете исходные файлы, к ссылке слева добавится еще и адрес файла-исходника:
По умолчанию, все внешние ссылки абсолютные, т.е. при копировании не изменяются. Если нужно, сделайте их относительными, нажимая F4 до получения необходимого типа ссылки.
Не перемещайте файлы-исходники, т.к. это разорвет связи, и внешние ссылки работать больше не будут.
Если на одном компьютере открыт и сводный документ и исходник, изменения в исходной таблице сразу же «подтянутся» и в свод. Если хотя бы одна из этих книг закрыта – понадобится принудительное обновление. Так же, при повторном открытии сводного файла, Эксель предложит обновить данные. Сделайте это, если нужно актуализировать информацию.
Управление внешними ссылками
Чтобы управлять ссылками на источники в других книгах, нажмите на ленте Данные – Подключения – Изменить связи . В открывшемся окне отобразится весь список подключенных файлов и кнопки-команды:
- Обновить – принудительное обновление всех ссылок
- Изменить – указать новую книгу Excel, в которой располагаются подключенные данные
- Открыть – открывает документ-источник
- Разорвать связь – удаляет внешние ссылки из этой связи, заменяет их на значение
- Состояние – обновляет статус доступности файлов с данными
- Запрос на обновление связей – укажите программе, нужно ли обновлять данные при открытии файла
Если у Вас большой файл с несколькими листами, может понадобиться много времени на поиски внешних ссылок. Так как быстро найти внешние ссылки в документе Excel? Предложу рецепт. Все подобные ссылки имеют общий элемент – открывающая и закрывающая квадратные скобки, в которые записано имя файла-исходника. В других случаях такие скобки используются редко. Нажмите Ctrl+F для открытия окна поиска, в поле «Найти» введите квадратную скобку и нажмите «Найти все». В результатах поиска точно будут все внешние ссылки.
Применение внешних ссылок – самый простой и очевидный способ собрать данные из нескольких таблиц в одну. Но если данных достаточно много, этот метод неприменим. Тогда пользуемся инструментом «Консолидация».
Консолидация данных в одну таблицу
Этот инструмент упрощает сведение информации в одну таблицу данных, это удачный способ автоматизации процесса.
Рассмотрим его работу на примере. У нас есть 3 файла с данными о продажах трех подразделений компании. Нужно собрать общие показатели по организации, и сделать это быстро, ведь информация нужна «на вчера».
Давайте выполнять. Открываем все файлы-исходники и свод. Активируем «Свод». Ищем на ленте Данные – Работа с данными – Консолидация . Откроется окно подключения внешних данных.
Теперь пошагово выполняем:
- В поле «Функция» выбираем «Сумма» (или что-то другое, если нужно)
- В поле «Ссылка» указываем ссылку на данные в первом файле-источнике (вместе с шапкой). Лучше всего, указать столбцы полностью, например A:D . Тогда не нужно будет переопределять диапазон при добавлении новых данных.
- Нажимаем «Добавить», ссылка появляется в поле «Список диапазонов»
- Повторяйте п. 2-3, пока не добавите ссылки на все файлы-исходники
- Установите галочки «Подписи верхней строки» и «Значения левого столбца», чтобы Эксель сам подобрал заголовки шапки и категории в строках
- Установите галку «Создавать связи с исходными данными», тогда консолидация будет сделана с помощью ссылок на ячейки. Иначе – будут просто вставлены итоговые значения.
- Нажмите Ок для завершения настройки консолидации.
В итоге, в файле «Свод» появится сведенный список из таблиц всех подключенных файлов. Если установили галочку «Создавать связи с исходными данными», итоговая таблица будет структурирована, можно развернуть каждый пункт и увидеть детали по каждому подразделению отдельно
Если исходные таблицы изменились, можно переформировать свод. Для этого повторно откройте окно «Консолидация» и нажмите Ок.
Такой вот простой инструмент, решающий одну из самых противных задач в Эксель. Я предпочитаю применять именно его, ручная работа по внесению ссылок – не для меня. Рекомендую и Вам пользоваться. Хотя, более удачным решением будет применение сводной таблицы (когда это возможно), или создание собственной VBA-программы с детальными настройками сведения.
На этом оставлю Вас экспериментировать с Консолидацией, и приступаю к написанию поста о защите данных в Эксель. Читайте, эта информация сейчас, как никогда актуальна. До встречи!
Содержание
- Найти внешние ссылки
- Поиск внешних ссылок с помощью функции поиска и замены
- Найдите внешние ссылки с помощью ссылок редактирования
Как найти ячейки, связанные с внешними источниками в Excel
В этой статье вы узнаете, как найти внешние ссылки в Excel.
Найти внешние ссылки
В Excel можно использовать данные из другой книги (файла). В этом случае Excel создает внешнюю ссылку на эту книгу. Рассмотрим набор данных на рисунке ниже, который содержит внешние ссылки на другую книгу.
Как вы можете видеть выше, значение в B2 связано с рабочим листом с именем Внешний файл .xlsx (Лист1, ячейка B2). Ячейки B5, B7 и B8 также содержат похожие ссылки. Теперь посмотрите на этот файл и значение в ячейке B2.
Выше видно, что значение ячейки B2 в файле Внешний файл .xlsx 55, и это значение связано с исходным файлом. Когда вы связываете ячейку с другой книгой, значения обновляются в обеих книгах при каждом изменении связанной ячейки. Таким образом, вы можете столкнуться с проблемой, если файл, на который вы ссылаетесь, будет удален.
При открытии исходный файл предупреждает вас о том, что некоторые ячейки в этой книге связаны с несуществующим файлом. Чтобы решить эту проблему, вы можете найти все ячейки с внешними ссылками и заменить их каким-либо другим значением (или просто удалить их).
Однако часто бывают случаи, когда у вас много связанных ячеек, и на просмотр всего файла, чтобы выбрать их одну за другой, потребуется много времени. Вы можете найти все внешние ссылки в файле сразу, используя Найти и заменить или Редактировать ссылки Особенности.
Поиск внешних ссылок с помощью функции поиска и замены
1. В Лента, перейти к Главная> Найти и выбрать> Заменить.
2. Во всплывающем окне (1) введите «* .xl *» для Найти то, что, (2) нажмите Найти все, и (3) нажмите CTRL + A на клавиатуре, чтобы выделить все найденные ячейки.
Связанные файлы должны быть в формате Excel (.xlsx, .xlsm, .xls), поэтому вы хотите найти ячейки, содержащие «.xl» в формуле (ссылка). Звездочки (*) перед и после «.xl» обозначают любой символ, поэтому поиск найдет любое из расширений файлов Excel.
3. В результате выбираются все ячейки, содержащие внешнюю ссылку (B2, B5, B7 и B8). Чтобы заменить их определенным значением, введите это значение в поле Заменить коробка и удар Заменить все. Если оставить поле пустым, удаляется содержимое всех связанных ячеек. Например, если ввести 55 в поле Заменить на, получится Ценности столбец на картинке ниже. В любом случае замененные ячейки больше не связаны с другой книгой.
Найдите внешние ссылки с помощью ссылок редактирования
Другой вариант — использовать функцию редактирования ссылок в Excel.
1. В Лента, перейти к Данные> Изменить ссылки.
2. В окне «Редактировать ссылки» вы можете увидеть все книги, связанные с текущим файлом. Чтобы удалить ссылку, вы можете выбрать внешний файл и нажать Разорвать ссылку. В результате все ссылки на этот файл удаляются, а ранее связанные ячейки будут содержать значения, которые они имели на момент разрыва.