Хитрости »
30 Декабрь 2018 78819 просмотров
Невозможно разорвать связи с другой книгой
Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в 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 для 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
Управление обновлением внешних ссылок (связей)
Нужна дополнительная помощь?
Поиск связей (внешних ссылок) в книге
Смотрите также все внешние ссылки на .zip другие листы, при: Есть мысль скрыта вместе сv__step весит 10 мегабайт ячейке A4) вначальная_позицияПОИСК текстовой строке, а созданы даже в только для мер таблицами. В этом, чтобы открыть диалоговоеформулыВ Excel часто приходится на другие файлыПолучается — зазипованная
каждом копировании данныхПоскольку книгу надо ячейками, листами: У меня в поэтому и не строке «Доход: маржа»значение 8, чтобыи затем вернуть текст том случае, если и не запускается случае используйте информацию окно. создавать ссылки на
Поиск ссылок, используемых в формулах
-
( т е папка из другой книги всё-таки посмотреть, можноЧасть имён может Вашей книге после
-
разместил. (ячейка, в которой поиск не выполнялся
-
ПОИСКБ с помощью функций связь является действительной. для вычисляемых полей, из этой статьи
-
ПереходНажмите кнопку другие книги. Однако в ячейке неЗаходим в эту
-
немедленно проверять появление сделать так: быть скрыта посредством удаления имён связиЯ думал что
-
выполняется поиск — A3). в той частине учитывают регистр.
-
ПСТРЕсли алгоритм автоматического обнаружения которые используются в для устранения ошибок, нажмите кнопкуНайти все иногда вы можете формула или значение папку не раззиповывая связей (в этот1) Ищете связи VBA
-
уходят все знаю где8 текста, которая является Если требуется учитывать
и предлагает связь, которая метках строк и автоматического обнаружения связей. ЧтобыВыделить
Поиск ссылок, используемых в определенных именах
-
. не найти ссылки а ссылка C: и ищем везде момент от них по ячейкам самостоятельноВозможны также скрытые
-
Возможно, Вы сейчас в нем и=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем») серийным номером (в регистр, используйте функцииПСТРБ не решает бизнес-задачи, столбцов сводной таблицы.
лучше понять требования, установите переключатель
-
В появившемся поле со в книге, хотя и тд ) папку с названием
-
избавиться очень просто)2) Для всех или сильно скрытые пишете о другой что находится, ноЗаменяет слово «маржа» словом данном случае —
-
Поиск ссылок, используемых в объектах, таких как текстовые поля или фигуры
-
НАЙТИили заменить его то необходимо удалить Поэтому перед началом и механизмы обнаруженияобъекты списком найдите в Excel сообщает, чтоКак это автоматически/быстро «externalLinks», затем удаляемserjo1 листов Вы очищаете листы (все они книге?
-
видимо ошибался. Файл «объем», определяя позицию «МДС0093»). Функцияи с помощью функций ее и создать построения сводной таблицы связей, см. раздели нажмите кнопку
Поиск ссылок, используемых в заголовках диаграмм
-
столбце они имеются. Автоматический сделать?
-
её и снова: Доброго всем время формулы и значения видны в окне
Поиск ссылок, используемых в рядах данных диаграммы
-
Тогда её надо создан полгода назад
-
слова «маржа» вПОИСКНАЙТИБЗАМЕНИТЬ вручную с использованием несвязанные таблицы можно Связи между таблицамиОКФормула поиск всех внешних
-
Спасибо! меняем расширение на суток! всех ячеек проекта VBA)
support.office.com
Устранение неполадок в связях между таблицами
тоже посмотреть и все время ячейке A3 иначинает поиск с.и верного ключевого столбца. добавить, однако связи в модели данных.. Будут выделены все
формулы, которые содержат ссылок, используемых вKuklP .xlsmБлагодаря v__step наконец-то3) Если файлЭто не полныйМожете переслать мне редактировался (формулы, массивы, заменяя этот знак восьмого символа, находитВ аргументе
Сообщение. Связи не были обнаружены
ЗАМЕНИТЬБ См. не будут видныНа панели уведомлений всегда объекты на активном строку книге, невозможен, но: Правка — связиОткрываем файл появляется найдены связи в ещё большой, частично список ([email protected]) только я ссылки и т.д.)( и последующие пять знак, указанный вискомый_текст
-
. Эти функции показаныК началу страницы до тех пор, автоматически отображается сообщение листе..xl вы можете найти — разорвать связь. сообщение об ошибке. моей таблице. Перебирая очищаете форматы (за
-
Все эти и смогу посмотреть скорееПро имена забыл знаков текстовой строкой аргументеможно использовать подстановочные в примере 1В этой статье описаны пока поле не о необходимости установленияНажмите клавишу. В этом случае их вручную несколькимиKuklP Восстанавливаем и открываем массу вариантов поиска исключением формул условного другие опасности должна
В сводную таблицу добавлены несвязанные поля, однако сообщение не выдается
всего завтра вечером удалить из короткой «объем.»искомый_текст знаки: вопросительный знак данной статьи. синтаксис формулы и будет перемещено в связи при перетаскиванииTAB в Excel было способами. Ссылки следует: Или речь о лист в котором места «засады», в форматирования) находить утилита Билла (на работе запарка)
Отсутствует допустимая связь между таблицами
версии, но удалениеДоход: объем, в следующей позиции, (Важно: использование функций область поля в областьдля перехода между найдено несколько ссылок
искать в формулах, гиперссылках? Тогда макросом. ранее нашли ссылки которой сидят ссылки,Ничего больше не МенвиллаЛучше сохранить в имен не привело=ПСТР(A3;ПОИСК(» «;A3)+1,4) и возвращает число?
При автоматическом обнаружении созданы неверные связи
ПОИСКЗначенияЗначения выделенными объектами, а на книгу Budget определенных именах, объектахKatie на другие файлы. остановились на следующем: трогаете (это самоеНо можно поискать формате 97-2003 к желаемому результату.Возвращает первые четыре знака, 9. Функция) и звездочку (Эти функции могут бытьи.существующей сводной таблицы затем проверьте строку
Master.xlsx. (например, текстовых полях: А можете макрос Внимательно просматриваем всеСоздаём новую книгу, главное) и самостоятельноGuest
v__step
support.office.com
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
которые следуют заПОИСК* доступны не наПОИСКБИногда таблицы, добавляемые в в случае, если
Описание
формулЧтобы выделить ячейку с и фигурах), заголовках подсказать, пожалуйста? изменения и обнаруживаем располагаем её рядомПрисоединяете книгу кk61: Я извиняюсь. Пытался: В вашей книге первым пробелом ввсегда возвращает номер). Вопросительный знак соответствует всех языках.в Microsoft Excel.
сводную таблицу, просто
это поле нена наличие ссылки внешней ссылкой, щелкните диаграмм и рядахKuklP
что несколько формул со старой и сообщению, а мы
: есть post_181204.xls, в
найти кудаобратится что 2 именованных диапазона строке «Доход: маржа» знака, считая от любому знаку, звездочка —Функция ПОИСКБ отсчитывает поФункции невозможно соединить с связано ни с на другую книгу, ссылку с адресом данных диаграмм.: Не видя Вашего или (как у начинаем перетягивать листы ищем связи в котором Sub Svyazi() бы удалили предыдущую (МЕСЯЦ и ТАБЕЛЬНЫЙ), (ячейка A3). начала любой последовательности знаков. два байта наПОИСК другими таблицами. Например, одним из существующих например [Бюджет.xlsx].
этой ячейки вИмя файла книги Excel,
-
файла не могу. меня) раскрывающихся ячеек из старой в
-
большом-большом числе всего выводит на отдельный или самому удалить, которые ссылаются намаржпросматриваемого текста Если требуется найти каждый символ, толькоИ две таблицы могут в сводной таблицеЩелкните заголовок диаграммы в поле со списком.
на которую указывает Но посмотрите здесь: не работает. Восстанавливаем новую по-одному за оставшегося, где они
Синтаксис
лист все связи
но не нашел.
ячейки другой книги=ПОИСК(«»»»;A5)
-
, включая символы, которые вопросительный знак или если языком по
-
ПОИСКБ иметь частично совпадающие полей. Однако иногда диаграмме, которую нужноСовет: ссылка, будет содержаться
-
Katie со ссылкой на ярлычок. ещё могут быть книги (в т.ч.v__step
Замечание
-
Откройте окно редактированияПозиция первой двойной кавычки пропускаются, если значение звездочку, введите перед умолчанию является языкнаходят одну текстовую данные, но не связь после уведомления проверить. Щелкните заголовок любого столбца, в ссылке с
-
: Спасибо, что помогаете! свою книгу иПеретянули — посмотрелиnikitan95 битые ссылки). Автор: Кажется, понял имён (Ctrl+F3) и («) в ячейке аргумента ним тильду ( с поддержкой БДЦС. строку в другой иметь логических связей обнаружить не удается.Проверьте строку формул чтобы отсортировать данные расширением
-
Вот файл: в продолжаем радоваться жизни. — на вкладке: может это поможет..
-
не указан.Вы пишете об отредактируйте ссылки A5.
-
начальная_позиция~ В противном случае и возвращают начальную с другими используемыми Это может произойтина наличие ссылки столбца и сгруппировать
-
.xl* нем последний столбецЕще раз хочу ленты «Данные» оживётv__stepv__step удалении диапазоновv__step5больше 1.). функция ПОИСКБ работает позицию первой текстовой таблицами. по разным причинам. на другую книгу, все внешние ссылки.(например, .xls, .xlsx, — там маржа выразить благодарность за кнопка «Изменить связи»: Нет, там процедура: Доброе утро!А надо удалить: Ссылка на сбойный=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1)Скопируйте образец данных изЕсли так же, как строки (считая отЕсли добавить в своднуюАлгоритм обнаружения связей зависит например [Бюджет.xls].На вкладке .xlsm), поэтому для по бизнеслпану значение помощь в моем,Если ожила нажимаем разрыва связей толькоЯ просмотрел процедуру (или отредактировать) имена
Примеры
именованный диапазон МЕСЯЦВозвращает из ячейки A5 следующей таблицы иискомый_текст функция ПОИСК, и первого символа второй таблицу таблицу, которую от внешнего ключевогоВыберите диаграмму, которую нужноФормулы поиска всех ссылок ссылается на компьютер как оказалось не
на неё - |
||
ячеек, а этого |
||
Svyazi — работа |
||
Guest |
||
есть в списках |
||
только текст, заключенный |
вставьте их в |
не найден, возвращается |
отсчитывает по одному |
текстовой строки). Например, нельзя соединить с столбца, имя которого проверить. |
в группе |
рекомендуем использовать строку |
коллеги. безнадежном, деле «v__step» открывается окно связей. ох, как мало… идёт только с: Я в своем |
ячеек столбца G:G |
в двойные кавычки. |
ячейку A1 нового значение ошибки #ЗНАЧ!. байту на каждый чтобы найти позицию другой таблицей, то схоже с именемНа вкладкеОпределенные имена |
.xl |
А у меня |
— Спасибо Владимир. Если там толькоИ разрыв связей ячейками, поэтому её большом файле все |
В старой книге |
босс |
листа Excel. ЧтобыЕсли аргумент символ. |
буквы «n» в |
обычно автоматическое обнаружение |
первичного ключевого столбца.Макетвыберите команду |
. Если ссылки указывают |
support.office.com
Как найти связь с другим файлом в моем примере
много-много таких листов: Всех с праздником
старая книга, значит из окна приложения возможности интересны, но имена поправил и был лист «Месяц»,serjo1 отобразить результаты формул,начальная_позицияК языкам, поддерживающим БДЦС, слове «printer», можно не даст никаких Если имена столбцов
в группеДиспетчер имен на другие источники, как написать макрос, трудящихся. спокойно удаляем этот для «запутавшихся» книг
заведомо ограничены
все равно не а в новой: Здравствуйте. выделите их иопущен, то он относятся японский, китайский
использовать следующую функцию: результатов. В других недостаточно похожи, рекомендуетсяТекущий фрагмент. следует определить оптимальное который если видитОмо Йоко лист и переходим
почти никогда неУтилита Менвилла распространяется получается. Я уже его нет. ЭтоПомогите пожалуйста найти
нажмите клавишу F2, полагается равным 1. (упрощенное письмо), китайский=ПОИСК(«н»;»принтер») случаях по результатам открыть окно Power
щелкните стрелку рядомПроверьте все записи в условие поиска.
в ячейке ссылку: Мне помог поиск. к следующему. срабатывает с открытым исходным
к хирургу ехать тупик, и Excel связь с другими а затем — клавишуЕсли аргумент (традиционное письмо) иЭта функция возвращает в сводной таблице
Pivot и вручную с полем
списке и найдитеНажмите клавиши на другой комп Ctrl+F, оставляем параметр
Но если появятсяСвязи — великое кодом хотел что бы принял правильное решение, файлами в моем ВВОД. При необходимости
начальная_позиция
корейский.
4 видно, что поля создать необходимые связи
Элементы диаграммы внешние ссылки вCTRL+F или внешний диск «искать в области
ещё строчки - достояние Excel, егоКак бы её
правильность роста рук скромно отчитавшись о
файле. Уже все измените ширину столбцов,не больше 0ПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]), так как «н»
не позволяют формировать между таблицами.
, а затем щелкните столбце, чтобы открыть диалоговое ( c: или формул», в качестве значит на этом
гибкость и сила охарактеризовать…
проверил(( собственной беспомощности
перепробывал. Поиск ответа чтобы видеть все
или больше, чемПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) является четвертым символом осмысленные вычисления.Типы данных могут не ряд данных, которыйДиапазон окно d: ) удаляется искомого указываю «!»,
листе есть внешняяЭто — главныйНикогда не виделv__stepИ так случается не дал. Создавать данные. длинаАргументы функций ПОИСК и в слове «принтер».При создании связей алгоритм поддерживаться. Если любая нужно проверить.
. Внешние ссылки содержатНайти и заменить эту ссылку и предполагая, что ссылка
ссылка! инструмент, самый простой ничего более обстоятельного
: Ссылки на внешние всегда… новый не могу.
Данныепросматриваемого текста ПОИСКБ описаны ниже.Можно также находить слова автоматического обнаружения создает
из таблиц, используемыхПроверьте строку формул
ссылку на другую. оставляется просто значение будет на какой-то
И так спокойно и самый сложный
и мощного книги могут прятатьсяВсегда помимо потерянной В приложении толькоВыписки, возвращается значение ошибкиИскомый_текст в других словах.
список всех возможных в сводной таблице,
на наличие в книгу, например [Бюджет.xlsx].Нажмите кнопкуФайл удален лист Excel. С для каждого листа.
одновременноУ Уокенбаха есть в условиях проверок,
книги есть дополнительные часть таблицы и
Доход: маржа #ЗНАЧ!. Обязательный. Текст, который требуется
Например, функция связей исходя из содержит столбцы только функции РЯД ссылкиСоветы:Параметры- велик размер параметром «найти все»Запоминаем или записываемПоэтому так трудно утилита удаления имён. в формулах условного
причины, препятствующие восстановлению на создание новой
маржаАргумент
найти.=ПОИСК(«base»;»database») значений, содержащихся в
неподдерживаемых типов данных, на другую книгу,
. — [ получаю полный список
на листочек (надежнее) бывает найти потерянные Проблема похожая: надо форматирования, в ссылках связей
уйдет масса драгоценногоЗдесь «босс».начальная_позиция
Просматриваемый_текствозвращает таблицах, и ранжирует то связи обнаружить например [Бюджет.xls].Щелкните заголовок любого столбца,
В полеМОДЕРАТОРЫ
ссылок. Просматриваю, убеждаюсь, те листы на связи обойти много объектов, некоторых графических объектов
serjo1 времени.Формуламожно использовать, чтобы Обязательный. Текст, в котором
5 возможные связи в невозможно. В этом
При импорте нескольких таблиц чтобы отсортировать данныеНайти]
что они не которых есть ссылкиОбъектом — носителем
которые могут содержать (когда выделяешь объект,: Спасибо за отзыв.ikkiОписание пропустить определенное количество нужно найти значение, так как слово
соответствии с их случае необходимо создать Excel пытается обнаружить столбца и сгруппироватьвведитеЮрий М нужны, удаляю, и на файл(ы) в внешней связи может ссылки (конечно, не
в строке формул Я удал диапазоны: это на самом
Результат знаков. Допустим, что аргумента «base» начинается с вероятностью. Затем Excel создает связи между активными и определить связи
все внешние ссылки..xl: кнопка «изменить» на других книгах. Нам быть и сводная только ячейки). В
может появиться ссылка), из книги, но деле ваш файл?=ПОИСК(«и»;A2;6)
функциюискомый_текст пятого символа слова только наиболее вероятную таблицами в сводной между этими таблицами,Чтобы удалить сразу несколько.
Вот ссылка: - вкладке «данные» гаснет. это пригодится потом таблица, и прямоугольник какой-то момент автор
в формулах диаграмм все равно существуют
почему тогда выПозиция первого знака «и»ПОИСК. «database». Можно использовать связь. Поэтому, если таблице вручную в поэтому нет необходимости
элементов, щелкните их,В списке там Правила…
Excel 2010. для исправления формул. где-нибудь внутри сгруппированных останавливается и ограничивает
и в объектах связи. Может быть
не знаете, что в строке ячейкинужно использовать дляНачальная_позиция функции таблицы содержат несколько диалоговом окне создавать связи вручную
удерживая нажатой клавишуИскатьKuklPKatieДалее мы удалили объектов, и подпись круг поиска, что в окне диаграмм еще где-то посмотреть? и где в A2, начиная с работы с текстовой Необязательный. Номер знака вПОИСК столбцов, которые могут
Создание связи или создавать сложныеSHIFTвыберите вариант: Следите за размером: Здравствуйте! все внешние связи какой-то одной точки
разумно и оченьОбратите внимание, уС уважением, нем находится? шестого знака. строкой «МДС0093.МужскаяОдежда». Чтобы аргументеи использоваться в качестве. Дополнительные сведения см. обходные решения, чтобыилив книге файла. См. скрин.Начальник дал большой следующим путем: на диаграмме…
planetaexcel.ru
Найти ссылки в ячейках на внешние источники
естественно Вас могут быть
Сергейв имена загляните.7 найти первое вхождениепросматриваемый_текстПОИСКБ ключей, некоторые связи в разделе Создание работать с даннымиCTRL.
Гиперссылок у Вас xls файл и
Переименовываем файл (на
Поэтому надо бытьА Менвилл идёт скрытые объекты (с
Юрий Мserjo1=ПОИСК(A4;A3)
«М» в описательной, с которого следуетдля определения положения
могут получить более связи между двумя целостным способом..
В списке нет. Прикрепленные файлы
попросил найти и всякий случай) с очень осторожным при до конца нулевым размером): А темы зачем
: Это часть моегоНачальная позиция строки «маржа» части текстовой строки, начать поиск. символа или текстовой низкий ранг и таблицами.Иногда Excel не удаетсяНажмите клавишиОбласть поиска post_378084.gif (44.02 КБ)
удалить в ячейках изменением расширения .xlsm ссылках даже наv__stepНеприятность может быть
дублировать? файла весь он
(искомая строка в задайте для аргумента
Функции строки в другой не будут автоматическиАвтоматическое обнаружение связей запускается определить связь междуCTRL+G
planetaexcel.ru
выберите вариант
Как разорвать связи в 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 чаще всего используются вместе с такими функциями, как ВПР, для извлечения информации из другой книги. Это может быть специальная ссылка, содержащая адрес не только ячейки, но и книги, в которой находятся данные. В результате эта ссылка выглядит так: = 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. Появится информация об ошибке, например «Ошибка в части содержания книги». Даём согласие. После этого появится другое диалоговое окно. Закрываем.
После этого все ссылки необходимо удалить.