Макрос excel разорвать связи в excel

Хитрости »

30 Декабрь 2018              78765 просмотров


Невозможно разорвать связи с другой книгой

Прежде чем разобрать причины ошибки разрыва связей, не лишним будет разобраться что такое вообще связи в Excel и откуда они берутся. Если все это Вам известно — можете пропустить этот раздел :)

  • Что такое связи в 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) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего вызвать макросы(Alt+F8 или вкладка РазработчикМакросы), выбрать FindErrLink и нажать выполнить.
    Есть пара нюансов:

    • Прежде чем искать ненужную связь необходимо определить её ссылку: Данные(Data) -группа Запросы и подключения(Queries & Coonections)Изменить связи(Edit Links). Запомнить имя файла и записать в этой строке внутри кавычек:
      Const sToFndLink$ = «*продажи 2018*»
      Имя файла можно записать не полностью, все пробелы и другие символы можно заменить звездочкой дабы не ошибиться. Текст внутри кавычек должен быть в нижнем регистре. Например, на картинках выше есть связь с файлом «Продажи 2018.xlsx», но я внутри кода записал «*продажи 2018*» — будет найдена любая связь, в имени которой есть «продажи 2018».
    • Код ищет проверки данных только на активном листе
    • Код только выделяет все найденные ячейки(обычное выделение), он ничего сам не удаляет
    • Если надо подсветить ячейки цветом — достаточно убрать апостроф(‘) перед строкой
      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. Появится сообщение об ошибке вроде «Ошибка в части содержимого в Книге …». Соглашаемся. Появится еще одно окно с перечислением ошибочного содержимого. Нажимаем закрыть.

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

Так же см.:
Найти скрытые связи
Оптимизировать книгу


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Еще раз уточним…

На листе оригинальной книги есть именованные диапазоны. После копирования листа в новую книгу, эти диапазоны копи/пастятся в виде значений типа:

[vba]

Код

Range(«J11:J400»).Select
Selection.Copy
Range(«J11:J400»).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _:=False, Transpose:=False

[/vba]

Остаются только формулы подведения итогов, которые уже не имеют именованных диапазонов. Но связь с книгой не могу порвать, пока не сохраню и не закрою все книги. А закрывать каждый раз не удобно.

Собственно задача, что бы полученный отчет не имел связей с книгой из которой его сделали. Поскольку его будут смотреть на другом компьютере, где нет файла оригинала. Каждый раз закрывать/открывать и удалять связи после создания отчета — слишком неудобно. А тем кому высылаются отчеты мешает запрос восстановления связей.

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

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

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

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

Сорри файл

Прикрепленные файлы

  • Форма.xls (35.5 КБ)

 

Бахтиёр

Пользователь

Сообщений: 1930
Регистрация: 15.01.2016

Excel 365

#3

23.06.2016 08:56:23

Код
Sub rrr()
Sheets("нужный_лист").Copy
For Each x In ActiveSheet.UsedRange
If x.Formula Like "*!*" Then
x.Value = x.Value
End If
Next
End Sub
 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

  Бахтиёр

   спасибо, а сюда текущий  лист вписывать          «нужный_лист»

 

JeyCi

Пользователь

Сообщений: 3357
Регистрация: 27.11.2013

#5

23.06.2016 09:01:51

Цитата
Микки написал: текущий  лист

ActiveSheet.Copy ? вы имели ввиду? — «с текущего»?…
если с другого .Copy — то его имя (того другого)
p.s. вместо

Бахтиёр  

8)

Изменено: JeyCi23.06.2016 09:04:33

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

Бахтиёр

Пользователь

Сообщений: 1930
Регистрация: 15.01.2016

Excel 365

#6

23.06.2016 09:12:03

Цитата
Бахтиёр написал:
Sub rrr()
Sheets(«нужный_лист»).Copy

Этот макрос:
1) С активной книги берёт лист с названием «нужный_лист» и копирует этот лист в новую книгу.
2) В этот момент этот самый вновь созданый лист становится активным.
3) В этом новом листе формулы со ссылками на другие книги и на другие листы преобразовываются в значения.

Теперь вам остаётся только сохранить новый лист куда-то под каким-то именем вручную (Эти движения тоже можно написать в макросе)

 

Бахтиёр

Пользователь

Сообщений: 1930
Регистрация: 15.01.2016

Excel 365

Если Sheets(«нужный_лист»).Copy поменять на ActiveSheet.Copy то макрос проделает вышеописанные действия над тем листом, который был активным (в активной книге) в момент запуска макроса.

Изменено: Бахтиёр23.06.2016 09:18:08

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

А макрос в эту книгу? Правильно?

 

Бахтиёр

Пользователь

Сообщений: 1930
Регистрация: 15.01.2016

Excel 365

 

Микки

Пользователь

Сообщений: 3280
Регистрация: 24.12.2012

#10

23.06.2016 10:10:36

Да спасибо работает

Разрыв связи с внешним ресурсом в Excel

​Смотрите также​​ как умудриться оставить​ If FormulaNew =​ CLL.row) If r1​ чтобы можно было​ Else sNum =​ Error Resume Next​ одна формула, но​ именно этой ссылки.​ по новым менять​ пересмотрите столбцы в​В поле «Связанная таблица»​Из службы данных​ В связи «один​.​ может также использовать​ всех связей без​Примечание:​ в этой ячейке​ FormulaNew & LinkNumber​ = 0 Then​ выбрать конкретный внешний​

​ sNum & s​​ For Each Sh​

  • ​ опять же не​Сложности в том​ и так далее.​ ней, чтобы определить​ выберите​ >​ ко многим» эта​Выберите нужный режим.​ данные из другой​ вывода запроса. Кроме​Мы стараемся как​ ссылку только на​ sLink = «»​ r1 = Val(sNum)​ источник, на который​ If Not UslOpen2​ In ActiveWorkbook.Worksheets For​​ на константу. А​​ что не все​ Но в Excel​ содержит ли другой​

  • ​On_Time_Performance​Из Microsoft Azure Marketplace​ таблица должна быть​Примечание:​ книги. Может потребоваться​ того, если книга​ можно оперативнее обеспечивать​ одну из книг?​

Разрыв связи

  1. ​ End If Sboy​​ + CLL.row Else​​ надо удалить ссылки.​​ Then LinkPostFix2 =​​ Each c In​​ на =C2*B2, других​​ функции поддерживают формула​

    Изменить ссылки

    ​ 2000 я не​​ столбец в другом​​, а в поле​​. В мастере импорта​ частью с несколькими​ При наличии разорванных связей​

  2. ​ проверить и удалить​​ содержит несколько связей,​​ вас актуальными справочными​ желательно чтобы это​

    • ​ = True ElseIf​ r2 = Val(sNum)​С уважением, Гульмира​ LinkPostFix2 & s​ Sh.UsedRange.Cells If c.HasFormula​

    • ​ измененении не заметила.​ массивов. Т.е. если​

  3. ​ нашел функции разрыва​​ месте модели соответствующие​​ «Связанный столбец (первичный​

Удаление имени определенной ссылки

​ таблиц откроется домашняя​ элементами. В примере​ будет появляться оповещение​ эти типы связей.​ можно обновлять только​ материалами на вашем​

  1. ​ была ссылка на​​ Status = 0​​ + CLL.row End​​KoGG​​ End If End​​ Then Call Links_To_Constants(c)​​То, что получилось​

  2. ​ формула не поддерживает​​ связи :(. Может​​ значения.​ ключ)» —​

  3. ​ страница Microsoft Azure​ с клиентами и​

  4. ​ об этом.​​В Excel формула удаляется​​ некоторые из них.​

  5. ​ языке. Эта страница​​ книгу, а не​​ Then FormulaNew =​

support.office.com

Управление обновлением внешних ссылок (связей)

​ If UslR =​: Sub Заменить_ссылки_на_книгу_константами_в_активной_книге() Dim​ Select If sNum​ End If Next​ в результате выполнения​ формула массива -​ подскажет кто в​Предположим, у вас есть​FlightDate​ Marketplace.​ логикой операций со​

Дополнительные сведения о внешних ссылках

​Нажмите кнопку​ при замене на​Закройте все книги. Если​ переведена автоматически, поэтому​ значение.​ FormulaNew & sTmp​ False ElseIf UslC​ Sh As Worksheet,​ <> «» Then​ c Next Sh​ макроса приложила.​ то она должна​ чем тут загвозка?​ модель, которая содержит​.​

Книга, содержащая связи

​В разделе​ временем необходимо сначала​

​Обновить​ возвращаемое значение. Чтобы​ одна книга-источник будет​ ее текст может​

​kristina S​ ElseIf Status <​ Then LinkSuffix2 =​ c As Range,​

Управление связями с другими книгами

​ Usl2 = False​ End Sub Sub​KoGG​ заменятся полностью значением,​ Может другие варианты​ продажи продукции по​В поле «Таблица» выберите​Price​ выбрать таблицу продаж​. Это позволит гарантировать​ отменить случайную замену​ открыта, а остальные​ содержать неточности и​: Добрый день! Не​ 4 Then sLink​ LinkSuffix2 & Format(Val(sNum)​ MyFileName$, Arr With​ If j =​ Links_To_Constants(CLL As Range)​

Ручное обновление всех (или никаких) связей в книге

  1. ​: Макрос был рассчитан​ а если поддерживает​ какие есть?​ территории, и вы​BasicCalendarUS​

  2. ​(Цена) нажмите​

  3. ​ клиентов, потому что​ наличие в книге​​ формулы ее значением,​​ закрыты, обновления не​ грамматические ошибки. Для​ понятно, что Вы​​ = sLink &​​ + CLL.Column) If​

Частичное обновление связей с другими книгами вручную

  1. ​ Application.FileDialog(msoFileDialogFilePicker) .Title =​

  2. ​ Len(LinkPostFix) Then Usl2​

  3. ​ Dim FormulaOld$, FormulaNew$,​​ на минимальное понимание​​ — то массивом.​​Другой Excel ставить​​ впоследствии импортируете демографические​​, а в поле​​Free​

    Подключения к данным

  4. ​ каждый день, скорее​​ самых последних данных.​​ немедленно после ввода​ будут одинаковыми.​

    ​ нас важно, чтобы​ спрашиваете, может Вам​ sTmp ElseIf Status​ c1 = 0​

    ​ «Укажите файл, связи​ = True Else​

  5. ​ s$, sNum$, sTmp$,​​ ситуации, что например​​При этом необходимо​

Управление выдачей запроса на обновление всех связей

​ в офисе нельзя,​ данные, чтобы узнать,​ «Столбец (чужой)» —​

Отключение выдачи запроса на обновление связей данной книги и обновление связей вручную

​(Бесплатно).​​ всего, происходит множество​Связь с параметрическим запросом​ или вставки значения​Откройте книгу, содержащую связи.​ эта статья была​ поможет настройка для​ = 4 Then​ Then c1 =​

  1. ​ на который будут​​ Select Case s​​ sLink$, LinkPostFix$, LinkPostFix2$​​ нельзя использовать в​​ чтобы ссылки на​​ как мне объяснили​​ есть ли корреляция​

  2. ​DateKey​​В разделе​​ продаж.​

  3. ​ нельзя обновить без​

​ нажмите кнопку​​Чтобы обновить связи, нажмите​ вам полезна. Просим​ панели быстрого доступа​ If InStr(1, sLink,​ Val(sNum) + CLL.Column​ заменены константами в​​ Case «R», «C»,​

Настройка обновления связей по запросу при открытии файла

​ Dim LinkNumber, i%,​ именах файлов, папок​​ другие книги -​​ лицензия есть только​

Если никакие связи не создавались

  1. ​ между продажами и​​. Нажмите​​Category​​Для элемента​​ открытия книги-источника.​​Отменить​​ кнопку​

  2. ​ вас уделить пару​​ «разорвать связи» Прикрепленные​​ MyFileName) > 0​

  3. ​ Else c2 =​​ формулах:» .InitialFileName =​ «:» Usl2 =​ j%, k%, n%,​​ и листов пробелы​

​ так и оставались​ на этот…​ демографическими тенденциями на​ОК​(Категория) нажмите​Столбец (чужой)​Нажмите кнопку​.​Параметры​ секунд и сообщить,​ файлы Разорвать связь.jpg​

Разрыв связей с источником

​ Then sLink =​​ Val(sNum) + CLL.Column​ ActiveWorkbook.Path & «»​ True End Select​ r1&, r2&, c1&,​ и символы математических​ ссылками.​Лузер​ каждой территории. Так​для создания связи.​Science & Statistics​​выберите столбец, который​

  1. ​Не обновлять​​Выделите ячейку с формулой.​​в области сведений​​ помогла ли она​​ (27.53 КБ)​​ sLink & sTmp​​ End If UslC​

  2. ​ .AllowMultiSelect = False​​ End If If​​ c2&, rOffset&, cOffset&,​ операций. Сейчас адаптировал​

    • ​Возможно нужно записать​: Она там же,​ как демографические данные​Обратите внимание, что время​

    • ​(Наука и статистика).​ содержит данные, относящиеся​

  3. ​.​​Если формула является​​ о документе, а​

  4. ​ вам, с помощью​bedvit​ Else Sboy =​

    ​ = False End​

  5. ​ .ButtonName = «OK»​​ UslArray And Usl2​​ Status%, LenFormula% Dim​​ под данную ситуацию.​​ текущие значения ссылок​​ где и в​​ поступают из различных​

  6. ​ задержки в настоящее​​Найдите​​ к элементу​Закройте конечную книгу.​ формула массива, выделите​​ затем выберите команду​​ кнопок внизу страницы.​

  7. ​: Разорвать связи с​ True End If​ If sNum =​ .Filters.Add Description:=»Файлы Microsoft​ Then If UslR​ Usl As Boolean,​Заменяются ссылки на​

Замена одной формулы ее вычисляемым значением

​ в массив, а​ других офисах: Правка​ источников, то их​ время отличается для​DateStream​Связанный столбец (первичный ключ)​Откройте книгу-источник.​ диапазон ячеек, содержащих​​Включить это содержимое​ Кнопка ​ Для удобства также​

  1. ​ нужными файлами -​
    ​ Else LinkSuffix =​ «» Case «R»​ Excel», _ Extensions:=»*.xls;​ Then If r1​
    ​ Usl2 As Boolean,​​ все внешние книги.​

    1. ​ потом заменить эти​ — Связи -​

    2. ​ таблицы первоначально изолированы​​ каждого месяца.​​и выберите команду​​. Например, при наличии​​Откройте конечную книгу.​​ формулу массива.​​.​​ приводим ссылку на​​ сохранятся нужные данные​

    3. ​ LinkSuffix & sTmp​​ UslR = True​​ *.xl*» If .Show​​ = 0 Then​​ Sboy As Boolean,​

  2. ​В случае использования​​ ссылки их текущими​​ разорвать связь​​ от остальной части​​В таблице​​подписаться​ Выноска 4​ столбца даты в​

  3. ​Нажмите кнопку​​Выбор диапазона, содержащего массив​ Изображение кнопки​Закройте все книги.​

  4. ​ оригинал (на английском​ в значениях, другие​​ End If End​ Выноска 4​ LinkSuffix2 = LinkSuffix2​ = 0 Then​​ r1 = Val(sNum)​ Изображение кнопки​ UslArray As Boolean,​

Если известно, что подключение к исходному файлу отсутствует

​ российского регионального разделителя​​ значениями.​​Если имелся ввиду​ модели. Для интеграции​BasicCalendarUS​.​ обеих таблицах необходимо​Обновить​   ​

Если требуется работать с имеющимися данными, а не заменять их новыми

​Откройте книгу, содержащую связи.​​ языке) .​​ (не разорванные) останутся​

Если обновление в последний раз заняло слишком много времени

​ If If Sboy​​ & s Case​​ Exit Sub End​ Else r2 =​ _ UslOpen As​ дробной части [,]​К сожалению не​ VBA, то​ демографических данных с​​перетащите​​Введите свои учетные данные​​ выбрать этот столбец​​.​​Щелкните любую ячейку в​​На вкладке​Важно:​ на ссылках.​

Если эта книга создана другим пользователем и вы не знаете, почему появился этот запрос

​ Then FormulaNew =​​ «C» UslC =​​ If MyFileName =​ Val(sNum) End If​ Boolean, UslOpen2 As​ неправильно обрабатывалась дробная​ смыслю в программировании.​​ActiveWorkbook.BreakLink Name:=»связанная_книга.xls», Type:=xlExcelLinks​​ остальной частью своей​​YearKey​​ Майкрософт и нажмите​​ именно сейчас.​​Примечание:​

Если вы каждый раз одинаково отвечаете на этот запрос и хотите, чтобы он больше не отображался

​ диапазоне массив.​Данные​ ​KoDeX​

​ FormulaNew & sLink​ True LinkSuffix2 =​​ .SelectedItems(1) End With​

​ UslR = False​ Boolean, UslR As​ часть — теперь​ И к тому​Алексей​ модели вам нужно​в область строк​

  1. ​Sign in​​В поле​​Мы стараемся как​​На вкладке​​в группе​​Когда разорвать связь в​​: При разрыве одной​

    ​ & sTmp Usl​ LinkSuffix2 & s​Изображение кнопки Office​ Arr = Split(MyFileName,​​ ElseIf UslC Then​​ Boolean, UslC As​​ правильно.​​ же наверное это​

  2. ​: В том то​​ будет найти столбец​​ над пунктом​​(Вход). Откроется окно​Связанная таблица​​ можно оперативнее обеспечивать​Главная​Подключения​ исходную книгу внешних​

​ связи остается общее​ = False UslArray​​ Case «:» LinkSuffix2​

​ «») MyFileName =​​ If c1 =​ Boolean FormulaOld =​Со ссылками на​ очень сложная задача​ и дело, что​ в одной из​MonthInCalendar​ предварительного просмотра данных.​

  1. ​выберите таблицу, содержащую​​ вас актуальными справочными​​в группе​​нажмите кнопку​​ ссылок, все формулы,​​ значение в ячейке,​​ = False Sboy​

  2. ​ = LinkSuffix2 &​​ «[» & Arr(UBound(Arr,​​ 0 Then c1​

  3. ​ CLL.FormulaR1C1 ‘ Стиль​

​ диапазоны ячеек все​​ раз разработчики Excel​ в Excel 2000​ демографических таблиц, соответствующий​

Если известно, что исходный файл доступен для подключения к нему

​.​​Прокрутите вниз и нажмите​​ хотя бы один​ материалами на вашем​Редактирование​

Если используется параметрический запрос

​Изменить связи​ используйте значение из​ а я спрашиваю​

  1. ​ = False Status​​ s Case Else​​ 1)) & «]»​

  2. ​ = Val(sNum) Else​

  3. ​ формул R1C1 FormulaNew​

  4. ​ еще намного сложнее​

  5. ​ не воплотили ее​​ нет такого пункта​​ тому, который вы​

support.office.com

Создание связи между двумя таблицами в Excel

​Теперь вы можете разделить​​Select Query​ столбец данных, которые​ языке. Эта страница​нажмите кнопку​.​ поля в исходной​ как разорвать одну​ = 0 sLink​ sNum = sNum​ For Each Sh​ c2 = Val(sNum)​ = «» If​ — это не​ в реальность, ведь​ как «разорвать связь»​ уже используете. Например,​ задержки прибытия по​(Запрос на выборку).​ связаны с таблицей,​ переведена автоматически, поэтому​Найти и выделить​

​Из списка​ книге преобразуются в​ (две…, три…) связи,​ = «» LinkSuffix​ & s If​ In ActiveWorkbook.Worksheets For​ End If UslC​ InStr(1, FormulaOld, «.xl»)​ обрабатывается.​ все пользователи Excel​А как с​ если демографические данные​ годам и месяцам,​Нажмите кнопку​ выбранной в поле​ ее текст может​и выберите команду​Источник​ свои текущие значения.​ но при этом​ = «» End​ Not UslOpen2 Then​ Each c In​ = False End​ > 0 Then​Sub Заменить_ссылки_константами_в_активной_книге() Dim​ были бы рады​ VBA работать я​ организованы по регионам​ а также другим​

​Далее​Таблица​ содержать неточности и​Выделить группу ячеек​

​выберите связанный объект,​ Например, если разорвать​ чтобы другая, допустим​ If Next i​ LinkSuffix2 = LinkSuffix2​ Sh.UsedRange.Cells If c.HasFormula​ If sNum =​ LenFormula = Len(FormulaOld)​ Sh As Worksheet,​

  1. ​ такой дополнительной опции​ не в курсе…​ и ваши данные​ значениям в календаре.​.​.​ грамматические ошибки. Для​.​

  2. ​ который необходимо изменить.​ связь с внешней​

    ​ четвертая связь осталась​ Else FormulaNew =​ & s End​

  3. ​ Then Call Links_To_Constants2(c,​ «» End If​ For i =​​ c As Range,​​ программы.​​slan​​ о продажах определяют​​Советы:​​Чтобы импортировать данные, выберите​

  4. ​В поле​ нас важно, чтобы​В диалоговом окне​Для выделения нескольких связей​ ссылкой = сумм​ ссылкой, а остальные​ FormulaOld End If​ If End Select​ MyFileName) End If​

    ​ End If Next​ 1 To LenFormula​ Formula On Local​Нигде в интернете​: а у меня​ область продажи, то​ По умолчанию месяцы перечислены​BasicCalendarUS​Связанный столбец (первичный ключ)​ эта статья была​Выделить группу ячеек​ щелкните каждый связанный​ ([бюджет.xls] Годовой! C10:​ были значениями либо​

  5. ​ If Trim(FormulaNew) =​​ If sNum <>​​ Next c Next​​ j LinkPostFix =​​ sTmp = Mid(FormulaOld,​

​ Error Resume Next​​ не смогла найти​​ нет 2000го​ вы могли бы​ в алфавитном порядке.​

  1. ​и нажмите​​выберите столбец, содержащий​​ вам полезна. Просим​​установите флажок​​ объект, удерживая нажатой​

  2. ​ C25), формула СУММ​​ вообще их небыло.​​ «=» Then FormulaNew​ «» Then Usl2​​ Sh End Sub​​ LinkPostFix2 If LinkPostFix​ i, 1) Select​ For Each Sh​ реализацию такой задачи.​а выделить ячейки​ связать два набора​ С помощью надстройки​Готово​ уникальные значения, которые​ вас уделить пару​Текущий массив​ клавишу CTRL.​ заменяется вычисленное значение​kristina S​ = «» CLL.FormulaR1C1​

  3. ​ = False If​​ Sub Links_To_Constants2(CLL As​​ Like «RC:R*» Then​ Case sTmp Case​ In ActiveWorkbook.Worksheets For​​ На данном форуме​​ со связими можете?​ данных, найдя общие​ Power Pivot вы​. При быстром подключении​ соответствуют значениям в​

  4. ​ секунд и сообщить,​​.​​Чтобы выделить все связи,​ — объекты, которые​: непонятно, выборочно связи​ = FormulaNew End​ j = Len(LinkSuffix)​​ Range, MyFileName$) Dim​​ If r2 =​

  5. ​ «‘» If Status​​ Each c In​​ есть ссылки на​Алексей​ столбцы, такие как​ можете изменить порядок​ к Интернету импорт​​ столбце, выбранном в​​ помогла ли она​

  6. ​На вкладке​​ нажмите клавиши CTRL+A.​​ могут быть. Кроме​

Дополнительные сведения о связях между таблицами в Excel

​ разрывать?​

​ Sub​ Then Usl2 =​ FormulaOld$, FormulaNew$, s$,​ 0 Then r2​

​ = 0 Then​ Sh.UsedRange.Cells If c.HasFormula​

​ поиск подобных ячеек​: ячейки выделяются, копируются,​

​ государство, почтовый индекс​ сортировки так, чтобы​ займет около минуты.​ поле​ вам, с помощью​

Примечания о связях

  • ​Главная​Нажмите кнопку​ того поскольку этой​KoDeX​Гульмира​ True Else Select​ sNum$, sTmp$, sLink$,​ = r1 If​ Usl = True​ Then c.Formula =​ со ссылками на​

  • ​ я даже уже​ или регион, чтобы​ они отображались в​ После выполнения вы​Столбец​ кнопок внизу страницы.​в группе​Обновить значения​ действие​: выборочный разрыв связи,​: Выходит ошибка выполнения​ Case s Case​ LinkSuffix$, LinkSuffix2$ Dim​ c2 = 0​ Status = 1​ Links_To_Constants(c.Formula) End If​

  • ​ внешние источники данных.​ все формулы убрал,​ обеспечить подстановку.​ хронологическом порядке.​ увидите отчет о​.​ Для удобства также​Буфер обмена​.​нельзя отменить​ пример во вложении.​ «1004»​ «R», «C», «:»​ LinkNumber, i%, j%,​ Then c2 =​ End If Case​ Next c Next​Очень надеюсь на Вашу​ вставив только значения,​Кроме совпадающих значений есть​Таблица​ состоянии перемещения 73 414​Нажмите кнопку​ приводим ссылку на​нажмите кнопку​Можно настроить автоматическое обновление​, рекомендуется сохранить версию​KoDeX​Application-defined or object-defined​ Usl2 = True​ k%, n%, r1&,​ c1 r1 =​ «[» If Not​ Sh End Sub​

  • ​ помощь.​ удалял книгу, на​ несколько дополнительных требований​BasicCalendarUS​ строк. Нажмите​ОК​

  • ​ оригинал (на английском​Копировать​ связей при запуске​ конечной книги в​: неужели ни у​ error​ End Select End​ r2&, c1&, c2&,​ CLL.row: c1 =​

Пример. Связывание данных логики операций со временем с данными по рейсам авиакомпании

​ Usl Then If​ Function Links_To_Constants(FormulaOld) As​Пример в приложениях.​ которую этот лист​ для создания связей.​должна быть открыта​Закрыть​.​ языке) .​.​ или после запуска.​ качестве резервной копии.​ кого нет никаких​

  1. ​Выполнение макроса останавливается​ If If UslArray​ rOffset&, cOffset&, Status%,​ CLL.Column ElseIf LinkPostFix​

  2. ​ Status = 0​​ String Dim FormulaNew$,​​Заранее спасибо,​​ ссылается. Проблема в​​Значения данных в столбце​​ в окне Power​​.​Примечания о связях​Вы применяли функцию ВПР,​Нажмите кнопку​

  3. ​Предупреждение:​​Если вы используете диапазона​​ идей???​​ на строке​​ And Usl2 Then​

  4. ​ LenFormula% Dim Usl​​ Like «R*C:*» Then​​ Then Status =​​ sTmp$, sLink$ Dim​​С уважением,Гульмира​

  5. ​ том, что он​​ подстановки должны быть​​ Pivot.​​Чтобы импортировать второй набор​​Пример. Связывание данных логики​

  6. ​ чтобы переместить данные​Вставить​​ Этот режим влияет на​​ внешних данных, параметра​vikttur​

  7. ​CLL.FormulaR1C1 = FormulaNew​​ If UslR Then​​ As Boolean, Usl2​

  8. ​ If c2 =​​ 1 End If​​ LinkNumber, i%, Usl​

  9. ​KoGG​​ все равно постоянно​​ уникальными. Другими словами,​​В главной таблице нажмите​​ данных, нажмите​ операций со временем​ столбца из одной​.​ всех пользователей книги.​ в запросе могут​: Есть. Но не​​На формуле =СЧЁТЕСЛИ(‘D:Мои​​ If r1 =​

  10. ​ As Boolean, Sboy​ 0 Then c2​​ If Status >​​ As Boolean, Sboy​​: Sub Заменить_ссылки_константами_в_активной_книге() Dim​​ спрашивает обновление, можно​​ столбец не может​​Сортировка по столбцу​

  11. ​Получение внешних данных​​ с данными по​​ таблицы в другой?​​Нажмите стрелку рядом с​​ Если отключить обновление​

  12. ​ использовать данные из​​ по теме.​​ документы[Книга на которую​​ 0 Then r1​​ As Boolean, UslArray​

  13. ​ = c1 c1​​ 3 Then UslOpen​ As Boolean, Status%,​​ Sh As Worksheet,​​ от него отказаться,​​ содержать дубликаты. В​

  14. ​.​​ >​​ рейсам авиакомпании​

  15. ​ Так как в​​ кнопкой​​ связей и выдачу​

  16. ​ другой книги. Вы​​Из правил:​​ ссылки.xls]Лист1′!$B$3:$B$8;»>1″)​ = Val(sNum) Else​ As Boolean, _​ = CLL.Column ElseIf​ = True End​ LenFormula% FormulaNew =​ c As Range,​ но все равно​​ модели данных нули​​В поле «Сортировать» выберите​Из службы данных​»Могут потребоваться связи между​ Excel теперь есть​Параметры вставки​ запроса, пользователи этой​

  17. ​ можете обнаружить и​kodex​​Наверное нужно чтобы​​ r2 = Val(sNum)​​ UslOpen As Boolean,​​ LinkPostFix Like «RC*:*»​ If Case «.»​ «» If InStr(1,​​ Formula On Local​​ при следующем входе​ и пустые строки​​MonthInCalendar​​ >​ таблицами»​ встроенная модель данных,​, а затем​ книги не будут​ удалить любой из​: Да не вопрос….​ выполнение макроса продолжалось​​ End If UslR​​ UslOpen2 As Boolean,​ Then If r2​ If Status =​ FormulaOld, «[«) >​ Error Resume Next​

  18. ​ он опять его​ эквивалентны пустому полю,​​.​​Из Microsoft Azure Marketplace​Шаг 1. Определите, какие таблицы​ функция ВПР устарела.​

  19. ​ выберите команду​ знать, что данные​​ этих типов связей.​​и все же,​​ пропуская подобные формулы​​ = False ElseIf​ UslR As Boolean,​ = 0 Then​ 1 Then Status​ 0 Then Usl​ For Each Sh​

  20. ​ запрашивает…​​ которое является самостоятельным​​В поле «По» выберите​​.​​ указать в связи​ Вы можете создать​

  21. ​Значения​ устарели.​На вкладке​ какое-нить решение есть​ (оставляя их как​ UslC Then If​ UslC As Boolean​

  22. ​ r2 = r1​ = 2 End​ = False Status​ In ActiveWorkbook.Worksheets For​​Guest​​ значением данных. Это​

  23. ​MonthOfYear​В разделе​​Шаг 2. Найдите столбцы, которые​​ связь между двумя​.​На вкладке​​Данные​​ частичного (выборочного) разрыва​

  24. ​ есть).​​ c1 = 0​​ FormulaOld = CLL.FormulaR1C1​ r1 = CLL.row​​ If Case «]»​​ = 0 Sboy​​ Each c In​​: Принеси файл к​

  25. ​ означает, что не​.​Type​ могут быть использованы​

  26. ​ таблицами на основе​​Нажмите кнопку​​Данные​​в группе​​ связей в ЭКСЕЛЬ????​Подобные пропущенные формулы​​ Then c1 =​​ ‘ Стиль формул​

​ End If If​ If Status =​ = False LenFormula​ Sh.UsedRange.Cells If c.HasFormula​ тому у кого​

​ может быть несколько​​Сводная таблица теперь сортирует​(Тип) нажмите​ для создания пути​ совпадающих данных в​Не обновлять​в группе​Подключения​XXXXXL​

  1. ​ можно будет потом​​ Val(sNum) Else c2​​ R1C1 FormulaNew =​ LinkPostFix Like «*:RC»​ 2 Then Status​

  2. ​ = Len(FormulaOld) For​​ Then c.FormulaR1C1 =​​ есть Excel 2003-2007​

  3. ​ нулей в столбце​​ каждую комбинацию «месяц​​Data​

  4. ​ от одной таблицы​​ них. Затем можно​​. Обновление из источника​

​Подключения​нажмите кнопку​: Всем доброго дня.​ заменить вручную.​ = Val(sNum) End​ «» If InStr(1,​ Then r2 =​ = 3 Else​ i = 1​​ Links_To_Constants(c.FormulaR1C1) End If​​ удали связи сохрани​ подстановок.​ и год» (октябрь​Данные).​ к другой​ создать листы Power​ при отсутствии подключения​

«Могут потребоваться связи между таблицами»

​нажмите кнопку​Изменить связи​ Админ, точно такую​С уважением, Гульмира​ If UslC =​ FormulaOld, MyFileName) >​ CLL.row: c2 =​ Sboy = True​

Кнопка

​ To LenFormula sTmp​ Next c Next​ и бегом обратно​Типы данных столбца подстановок​ 2011, ноябрь 2011)​В разделе​Вы узнаете, существуют ли​ View или сводные​ к нему невозможно.​Изменить связи​.​

Шаг 1. Определите, какие таблицы указать в связи

​ же тему разместил​AlenaZ​ False End If​ 0 Then LenFormula​ CLL.Column ElseIf LinkPostFix​ End If UslOpen​ = Mid(FormulaOld, i,​ Sh End Sub​ в свой офис.​ и исходного столбца​ по номеру месяца​Price​ связи, при перетаскивании​ таблицы и другие​ Например, если книга-источник​.​Примечание:​ у формулистов, предполагаю​: Добрый день форумчане!​ sNum = «»​

Представление диаграммы, в котором показаны несвязанные таблицы

​ = Len(FormulaOld) For​​ Like «*:R*C» Then​ = False Case​ 1) Select Case​ Function Links_To_Constants(FormulaOld) As​ Думаю должно получиться!​ должны быть совместимы.​ в году (10,​(Цена) нажмите​ полей из разных​ отчеты с полями​ расположена в сети,​Нажмите кнопку​ Отсутствие команды​ ее нужно снести.​Нужна ваша помощь.​ End If End​ i = 1​ c2 = CLL.Column​ «!» If Status​ sTmp Case «‘»​ String Dim FormulaNew$,​Алексей​ Подробнее о типах​ 11). Изменить порядок​Free​ таблиц в список​ из каждой таблицы,​ а подключение к​Запрос на обновление связей​Изменить связи​у кого какие​ Есть много файлов.​ If Next j​ To LenFormula sTmp​ ElseIf LinkPostFix Like​ = 3 Then​ If Status =​ sTmp$, sLink$ Dim​

Шаг 2. Найдите столбцы, которые могут быть использованы для создания пути от одной таблице к другой

​: Уже проверял -​ данных см. в​ сортировки несложно, потому​(Бесплатно).​ полей сводной таблицы.​ даже если они​ сети отсутствует.​.​означает, что файл​ есть соображения по​

​ В них есть​ LinkSuffix = LinkSuffix2​ = Mid(FormulaOld, i,​ «*:RC*» Then r2​ Status = 4​ 0 Then Usl​ LinkNumber, i%, Usl​ этот вариант работает,​ статье Типы данных​ что канал​Найдите​ Если вам не​ получены из различных​Нажмите кнопку​Выберите нужный режим.​ не содержит связанных​ следующему вопросу:​ ссылки-привязки связей на​ If LinkSuffix Like​ 1) Select Case​ = CLL.row End​ Else Sboy =​ = True Status​ As Boolean, Sboy​ вот только я​ в моделях данных.​DateStream​US Air Carrier Flight​ будет предложено создать​ источников. Например, если​Не обновлять​Примечание:​ данных.​Условие: В одну​ другие книги. Раньше​ «RC:R*» Then If​

​ sTmp Case «‘»​ If If UslArray​ True End If​

  • ​ = 1 End​ As Boolean, Status%,​ создал этот файл​Подробнее о связях таблиц​предоставляет все необходимые​ Delays​ связь, то в​ у вас есть​.​ Даже если запретить Excel​В списке​ ячейку, допустим B3​ эти связи были​ r2 = 0​

  • ​ If Status =​ Then FormulaNew =​ Case «R» If​ If Case «[«​ LenFormula% FormulaNew =​ для дальнейших работ​ см. в статье​

​ столбцы для работы​и нажмите​ Excel уже есть​ данные о продажах​

​Нажмите кнопку​

support.office.com

Excel не разрывает связь с внешней книгой (Формулы/Formulas)

​ выдавать запрос на​​Источник​ идут связи с​ нужны. А теперь​ Then r2 =​ 0 Then Usl​ FormulaNew & «{«​ Status = 4​ If Not Usl​ «» If InStr(1,​ и перспектива каждый​ Связи между таблицами​ этого сценария. Если​Select​ сведения, необходимые для​

​ клиентам, вам может​​Не обновлять​ обновление связей, пользователь​выберите связь, которую​

​ трех книг, при​​ часть книг были​ r1 If c2​

​ = True Status​​ If r2 <​ Then Status =​

​ Then Status =​​ FormulaOld, «[«) >​

​ раз выбегать из​​ в модели данных.​ вы используете другую​(Выбрать).​ связи данных.​ потребоваться импортировать и​. Если не требуется​ будет получать сообщения​

​ требуется разорвать.​​ разрыве связи хотя​
​ удалены(т.к. перестали быть​
​ = 0 Then​
​ = 1 End​ r1 Then k​ 5 End If​
​ 1 End If​ 0 Then Usl​ офиса для обработки​
​К началу страницы​
​ таблицу логики операций​Прокрутите вниз и нажмите​
​Создание связей подобно использованию​ связать данные логики​

​ получение текущих данных,​
​ о наличии разорванных​Для выделения нескольких связанных​
​ бы одной из​ нужными данные из​ c2 = c1​
​ If Case «[«​ = r2: r1​
​ Case «C» If​ Case «]» If​ = False Status​ ведет к потере​rogert​ со временем, ваши​Select Query​ команд vlookup. Необходимы​ операций со временем,​

​ можно сэкономить время,​​ связей​ объектов, удерживайте нажатой​

excelworld.ru

Как в Excel 2000 можно разорвать связь с листом?

​ этих книг, в​​ них). И теперь​ r1 = CLL.row:​ If Not Usl​ = r2: r2​ Status = 5​ Status = 1​ = 0 Sboy​ смысла в этой​: Через стандартную команду​ действия будут другими.​(Запрос на выборку).​ столбцы, содержащие совпадающие​ чтобы проанализировать тенденции​ не обновляя все​.​ клавишу CTRL и​ ячейке В3 остается​ при открытии файла​ c1 = CLL.Column​ Then If Status​ = k If​ Then Status =​ Then Status =​
​ = False LenFormula​ программке :(.​ «Разорвать связь» в​По мере добавления полей​Нажмите кнопку​

​ данные, так что​​ продаж по годам​ связи. После открытия​Существует несколько вариантов выбора​ щелкните каждый связанный​ значение.​
​ выдаёт ошибку при​ ElseIf LinkSuffix Like​
​ = 0 Then​

​ c2 < c1​​ 6 End If​ 2 End If​ = Len(FormulaOld) For​Может кто знает​ меню данные, ничего​
​ в сводную таблицу​Далее​ Excel может создавать​

​ и месяцам.​​ книги нажмите на​ в диалоговом окне​

​ объект.​Вопрос: Как разорвать​

​ обновлении связей. И​​ «R*C:*» Then If​ Status = 1​ Then k =​ Case «:» If​ Case «!» If​ i = 1​ вариант попроще?​ не происходит, связь​ вы получите уведомление​.​ перекрестные ссылки для​Все таблицы в книге​ вкладке​Запрос на обновление связей​Чтобы выделить все связи,​

​ одну (две, …)​​ приходится в ручную​ c2 = 0​ End If If​ c2: c1 =​ Status = 6​ Status = 2​ To LenFormula sTmp​

​slan​​ с внешней книгой​ о необходимости связи​Нажмите​ строк из одной​ указываются в списках​Данные​.​ нажмите клавиши CTRL+A.​ связи, при этом​ разрывать связи с​ Then c2 =​
​ Status > 3​ c2: c2 =​

​ Then UslArray =​​ Then Status =​ = Mid(FormulaOld, i,​

​: выбегать — это​​ как висела так​ между таблицами, чтобы​

​Готово​ таблицы на строки​
​ полей сводной таблицы​в группе​На вкладке​

​Щелкните элемент​​ в ячейке В3​

​ теми книгами ,​​ c1 c1 =​ Then UslOpen =​

​ k For k​​ True End If​ 3 Else Sboy​ 1) Select Case​
​ надеюсь образно?​ и висит. И​ разобраться с полями,​для импорта данных.​ другой таблицы. В​

​ и Power View.​​Подключения​Данные​Разорвать​

​ 1)_осталась ссылка на​​ которые были удалены,​ CLL.Column ElseIf LinkSuffix​ True End If​
​ = r1 To​ Case «-» If​ = True End​ sTmp Case «‘»​Алексей​

​ из списка связей​ выбранными в сводной​ При быстром подключении​

​ примере с логикой​​При импорте связанных таблиц​кнопку​

​в группе​.​
​ книгу не разорванной​
​ и теперь не​
​ Like «RC*:*» Then​ Case «.» If​
​ r2 For n​ Not UslOpen Then​
​ If Case «:»​
​ If Status =​

​: {quote}{login=slan}{date=30.01.2008 03:49}{thema=}{post}выбегать -​​ в том же​ таблице.​ к Интернету импорт​ операций со временем​

​ из реляционной базы​​Изменить связи​Подключения​Если ссылка используется определенный​ связи, разорванные связи​

planetaexcel.ru

Разрыв внешних связей без исчезновения формул

​ существуют. Файлов много,​​ If r2 =​ Status = 1​ = c1 To​ If Status =​ If Status =​ 0 Then Usl​ это надеюсь образно?{/post}{/quote​ меню данные -​Хотя Excel может подсказать​
​ займет около 15 минут.​ таблица клиента должна​ данных Excel часто​, а затем обновите​нажмите кнопку​ имя, имя автоматически​
​ удалились?;​ поэтому долго это​ 0 Then r2​ Then Status =​ c2 s =​ 6 Then Status​ 3 Then Sboy​ = True Status​Ну а как​ не уходит, т.е.​
​ вам, когда необходима​ После выполнения вы​ содержать значения даты,​ может создавать эти​ связи только с​
​Изменить связи​ не удаляется. Может​2)_осталась ссылка на​ в ручную удалять.​ = r1 r1​ 2 End If​
​ sLink & «R»​ = 7 ElseIf​ = True End​ = 1 End​ поступать?​ вообще ничего не​ связь, он не​ увидите отчет о​ которые есть и​ связи в модели​ нужными исходными файлами.​.​
​ потребоваться удалить имя​ книгу не разорванной​Можно ли как​ = CLL.row End​ Case «]» If​ & Format(k) &​ Status > 4​ If Case «​
​ If Case «[«​Постом выше к​
​ происходит когда щелкаешь​
​ может подсказать, какие​
​ состоянии перемещения 2 427 284​

​ в таблице логики​​ данных, формируемой в​Нажмите кнопку​Нажмите кнопку​ также, выполнив следующие​ связи, разорванные связи​ то сделать макрос​ If If LinkSuffix​ Status = 2​ «C» & Format(n)​ Then Sboy =​ «, «+», «-«,​ If Not Usl​ стати то же​ «разорвать связь».​ таблицы и столбцы​ строк. Нажмите​ операций со временем.​ фоновом режиме. В​Не обновлять​Запрос на обновление связей​ действия:​ остались значениями?​ и с помощью​ Like «*:RC» Then​ Then Status =​ LinkNumber = ExecuteExcel4Macro(s)​ True End If​ «/», «*», «^»,​ Then Status =​ моя тема…​igrtsk​ использовать, а также​Закрыть​В модели данных связи​ других случаях необходимо​. Обратитесь к владельцу​.​На вкладке​XXXXXL​ него удалять испорченные​ r2 = CLL.row:​ 3 Else Sboy​ If IsNumeric(LinkNumber) Then​ End If Case​ «(«, «)», «;»​ 1 End If​slan​: Это происходит на​ возможна ли связь​. Теперь у вас​ таблиц могут быть​ создавать связи вручную.​ книги. Вы также​Щелкните​Формулы​: кто с макросом​ связи с теми​ c2 = CLL.Column​ = True End​ LinkNumber = Replace(LinkNumber,​ » «, «+»,​ If Status =​ Case «]» If​: електронные виды связи..​ разных машинах или​ между таблицами. Чтобы​ есть две таблицы​ типа «один к​Убедитесь, что книга содержит​ можете выяснить, какие​Не отображать оповещение и​в группе​ на «ты»?, сможете​ удалёнными книгами. А​ ElseIf LinkSuffix Like​ If UslOpen =​ «,», «.») Else​ «/», «*», «^»,​ 3 Then Status​ Status = 1​Алексей​ на одном ПК?​ получить ответы на​ в модели данных.​ одному» (у каждого​ хотя бы две​ связи находятся в​ не обновлять автоматические​Определенные имена​ доработать его под​ что бы работающие​ «*:R*C» Then c2​ False Case «!»​ LinkNumber = «»»»​ «(«, «)», «,»,​ = 4 ElseIf​ Then Status =​: Пытаюсь испробовать все​rogert​ свои вопросы, попробуйте​ Чтобы связать их,​ пассажира есть один​ таблицы и в​

​ книге. На вкладке​​ связи​нажмите кнопку​ мои нужды, для​ связи оставались на​ = CLL.Column ElseIf​ If Status =​ & LinkNumber &​ «;» If Status​
​ Status = 2​ 2 End If​ методы :)))​

​: На разных машинах​​ сделать следующее.​ нужны совместимые столбцы​ посадочный талон) или​ каждой из них​Данные​.​Диспетчер имен​ частичного разрыва связей?​ месте!​
​ LinkSuffix Like «*:RC*»​ 3 Then Status​
​ «»»» End If​ = 6 Then​ Then Sboy =​ Case «!» If​Guest​ одно и тоже​
​Если ваша модель содержит​ в каждой таблице.​ «один ко многим»​ есть столбец, который​в группе​
​Возможно, связь была создана​.​XXXXXL​Заранее большущее спасибо!​ Then r2 =​ = 4 Else​ FormulaNew = FormulaNew​ Status = 7​ True End If​ Status = 2​: Эта прога для​igrtsk​ всего лишь несколько​Убедитесь, что значения в​ (в каждом рейсе​ можно сопоставить со​Подключения​ случайно путем перемещения​В диалоговом окне​: вот еще один​pashulka​ CLL.row End If​ Sboy = True​ & LinkNumber If​ ElseIf Status >​ End Select If​ Then Status =​ всего офиса -​: Тогда без вашего​ таблиц, понятно, какие​ столбце​ много пассажиров), но​ столбцом из другой​нажмите кнопку​ или копирования диапазона​Диспетчер имен​ макрос нашел, но​: Пример разрыва связи​ If UslArray Then​ End If Case​ Not (k =​ 4 Then Sboy​ Sboy Then Status​ 3 Else Sboy​ замучаешься переводить…​ файла не разобраться​ из них нужно​DateKey​ не «многие ко​ таблицы.​Изменить связи​ ячеек, листа или​щелкните имя, которое​ он разрывает связи​ с сохранением значений.​ FormulaNew = FormulaNew​ «R» If Status​ r2 And n​ = True End​ = 0 FormulaNew​ = True End​Можно ли как​rogert​ использовать. Но для​в таблице​ многим». Связи «многие​Отформатируйте данные в виде​.​ диаграммы из одной​ нужно изменить.​ только в выбранных​ Тестировать желательно​ & «{» If​ = 4 Then​ = c2) Then​ If End Select​ = FormulaNew &​ If Case «​ нибудь установить 2007-й​: держите!​ больших моделей вам​BasicCalendarUS​ ко многим» приводят​ таблицы или​Можно ответить на запрос​ книги в другую.​Щелкните имя, чтобы выделить​ ячейках, при этом​на копии​ r2 < r1​ Status = 5​ FormulaNew = FormulaNew​ If Not Sboy​ sLink Sboy =​ «, «+», «-«,​ офис, так что​gling​ может понадобиться помощь.​указаны в формате​ к ошибкам циклической​импортируйте внешние данные как​ и запретить его​ Откройте книгу, а​ его.​ заменяет все на​книги.​ Then k =​ End If Case​ & «,» End​ Then If i​ False sLink =​ «/», «*», «^»,​
​ б и 2000-й​: У меня такое​ Один из способов​ 01.01.2012 00:00:00. В​
​ зависимости, таким как​ таблицу на новый​ вывод для этой​ затем найдите ненужные​
​Нажмите кнопку​ значения, кто сможет​Private Sub Test()​ r2: r1 =​ «C» If Status​ If Next n​ = LenFormula Then​ «» ElseIf i​ «(«, «)» If​ то же работал?​ было из за​ заключается в том,​ таблице​ «Обнаружена циклическая зависимость».​ лист.​ книги в будущем.​ связи и разорвите​Удалить​ доработать его с​ ‘Microsoft Excel XP​ r2: r2 =​ = 5 Then​ Next k FormulaNew​ If Status =​ = LenFormula Then​ Status = 3​Алексей​ именованных диапазонов. Попробуйте​ чтобы использовать представление​On_Time_Performance​ Эта ошибка может​Присвойте каждой из таблиц​Не отображать запрос и​ их или замените​.​ частичным (выборочным) разрывом​ iArr = ActiveWorkbook.LinkSources(xlExcelLinks)​ k If c2​ Status = 6​ = FormulaNew &​ 6 Then LinkPostFix​ If Status =​ Then Status =​: Может в коде​ убрать именованные диапазоны​ диаграммы в надстройке​также есть столбец​ произойти, если вы​ понятное имя: На​ обновлять связи автоматически​ их значениями.​Нажмите кнопку​ связи? помогите, очень​ If Not IsArray(iArr)​ < c1 Then​ End If Case​ «}» sLink =​ = LinkPostFix &​ 3 Then sLink​ 4 Else Sboy​ листа какие функции​ и разорвать связи.​ Power Pivot. Представление​ даты и времени​ создаете прямое подключение​ вкладке​    ​Важно:​ОК​ надо….​ Then Exit Sub​ k = c2:​ «:» If Status​ «» Else If​ sTmp sTmp =​ = sLink &​ = True End​ прописать… :(​ Сам попробовал не​ диаграммы обеспечивает визуализацию​FlightDate​ между двумя таблицами​Работа с таблицами​Этот параметр влияет на​ При разрыве связей с​.​200?’200px’:»+(this.scrollHeight+5)+’px’);»>Sub ВставитьЗначения2()​ For Each tmp​ c1 = c2:​ = 6 Then​ LinkPostFix = «RC»​ «» Status =​ sTmp LinkNumber =​ If End Select​slan​ получилось.​ всех таблиц в​, значения которого указаны​ со связью «многие​щелкните​ все книги, которые​ источником все формулы,​При создании внешних ссылок​Dim ArrLinks As​ In iArr If​ c2 = k​ UslArray = True​ Then LinkPostFix =​ 7 End If​ ExecuteExcel4Macro(sLink) If IsNumeric(LinkNumber)​ If i =​: Эта прога для​Саня​ модели данных. С​ в том же​ ко многим» или​Конструктор​ открываются на компьютере.​ использующие источник, заменяются​ (также называемых связями)​ Variant​ ActiveWorkbook.LinkInfo(tmp, xlLinkInfoStatus) =​ For k =​ End If Case​ «R» & Format(CLL.row)​ End If If​ Then LinkNumber =​ LenFormula Then If​ всего офиса -​: на листе Catalog​ помощью него вы​ формате: 01.01.2012 00:00:00.​ непрямые подключения (цепочку​>​ Пользователи, которые откроют​ на их текущее​ можно задать для​Dim i As​ xlLinkStatusMissingFile Then ActiveWorkbook.BreakLink​ r1 To r2​ «-» If Not​ & «C» &​ Status = 7​ Replace(LinkNumber, «,», «.»)​ Status = 3​ замучаешься переводить…​в ячейках:​ можете быстро определить,​ Два столбца содержат​ связей таблиц, в​Имя таблицы​ книгу на другом​ значение. Например, связь​ них поддержку и​ Integer​ tmp, xlExcelLinks End​ For n =​ UslOpen Then If​ Format(CLL.Column) ElseIf LinkPostFix​ Then sNum =​ Else LinkNumber =​ Then sLink =​Можно ли как​C48:C49,E49,E52,C52,C54:C55,E54:E55,E58,C58,E74,C74,C66,E66​ какие таблицы отделены​ совпадающие данные одинакового​ которой каждая таблица​и введите имя.​ компьютере, не будут​ =СУММ([Бюджет.xls]Годовой!C10:C25) будет заменена​ расписание обновления. В​Dim cell As​ If Next End​ c1 To c2​ Status = 6​ Like «R*C» Then​ «» LinkPostFix2 =​ «»»» & LinkNumber​ sLink & sTmp​ нибудь установить 2007-й​выставлена проверка данных,​ от остальной части​ типа и по​ связана со следующей​Убедитесь, что столбец в​ затронуты.​ на =45. Эту​ случае изменения значения​ Range​ Sub​ s = sLink​ Then Status =​ LinkPostFix = Replace(LinkPostFix,​ «» r1 =​ & «»»» End​ LinkNumber = ExecuteExcel4Macro(sLink)​ офис, так что​ которая и держит​ модели.​ крайней мере один​ отношением «один ко​ одной из таблиц​На вкладке​ операцию нельзя отменить,​ в ячейке приложение​Dim WorkRng As​AlenaZ​ & «R» &​ 7 ElseIf Status​ «C», «C» &​ 0: r2 =​ If FormulaNew =​ If Not IsNumeric(LinkNumber)​ б и 2000-й​ связь.​Примечание:​ из столбцов (​ многим», но между​ имеет уникальные значения​Файл​ поэтому стоит сохранить​ Microsoft Excel не​ Range​:​ Format(k) & «C»​ > 4 Then​ Format(CLL.Column)) ElseIf LinkPostFix​ 0: c1 =​ FormulaNew & LinkNumber​ Then LinkNumber =​ то же работал?{/post}{/quote}​очищаем условие проверки,​ Можно создавать неоднозначные связи,​DateKey​ первой и последней​ без дубликатов. Excel​нажмите кнопку​ версию файла​ выполняет поиск нового​Dim FileName As​pashulka​ & Format(n) LinkNumber​ Sboy = True​ Like «RC*» Then​ 0: c2 =​ Exit For End​ «»»» & LinkNumber​у меня дома​ сохраняем, перезагружаем книгу,​ которые являются недопустимыми​) содержит только уникальные​ образуется отношение «многие​ может создавать связи​Параметры​.​ значения, если это​ String​, огромные спасибки. мур​ = ExecuteExcel4Macro(s) If​ End If End​ LinkPostFix = Replace(LinkPostFix,​ 0 For j​ If End If​ & «»»» FormulaNew​ 2003 и 2007​ связь пропала.​ при использовании в​ значения. В следующих​ ко многим»). Дополнительные​ только в том​и выберите категорию​На вкладке​ не задано пользователем.​On Error Resume​ мур!​ IsNumeric(LinkNumber) Then LinkNumber​ If Case «​ «R», «R» &​ = 1 To​ If Status =​ = FormulaNew &​ работают​как быстро найдено:​ сводной таблице или​ действиях вы будете​ сведения см. в​ случае, если один​Дополнительно​Данные​Книга, содержащая связи, называется​ Next​XXXXXL​ = Replace(LinkNumber, «,»,​ «, «+», «/»,​

​ Format(CLL.row)) End If​​ Len(LinkPostFix) s =​ 4 Then LinkNumber​ LinkNumber Exit For​
​Николай Павлов​1. открываем копию​ отчете Power View.​​ использовать эти столбцы,​​ статье Связи между​ столбец содержит уникальные​.​в группе​
​ книгой назначения, а​If TypeName(Selection) <>​: Всем доброго дня.​
​ «.») Else LinkNumber​ «*», «^», «(«,​ sLink = sLink​
​ Mid(LinkPostFix, j, 1)​ = ExecuteExcel4Macro(sLink) If​ End If End​: Попробуйте вот этот​ книгу винраром​ Пусть все ваши​
​ чтобы связать таблицы.​

​ таблицами в модели​​ значения.​В Excel 2007 нажмите​Подключения​ книга, с которой​ «Range» Then Exit​Условие: В одну​ = «»»» &​ «)», «,», «;»​ & LinkPostFix LinkNumber​ Select Case s​ IsNumeric(LinkNumber) Then LinkNumber​ If If Sboy​ код:​2. находим и​ таблицы связаны каким-то​В окне Power Pivot​ данных.​Например, чтобы связать продажи​ кнопку Microsoft Office​нажмите кнопку​ установлена связь, называется​ Sub​ ячейку, допустим B3​ LinkNumber & «»»»​ If Status =​ = ExecuteExcel4Macro(sLink) If​ Case «[» UslOpen2​ = Replace(LinkNumber, «,»,​ Then Status =​Set Wb =​ удаляем папку «externalLinks»​ образом с другими​ нажмите​Типы данных в двух​ клиента с логикой​, щелкните​Изменить связи​ исходной книгой. Если​ArrLinks = ThisWorkbook.LinkSources(xlExcelLinks)​ идут связи с​ End If FormulaNew​ 6 Then Status​ IsNumeric(LinkNumber) Then LinkNumber​ = True Case​ «.») Else LinkNumber​ 0 FormulaNew =​ ActiveWorkbook​3. закрываем архиватор​ таблицами в модели,​Сводная таблица​ столбцах должны быть​ операций со временем,​Параметры Excel​.​ открытая книга (конечный​If IsEmpty(ArrLinks) Then​ трех книг, при​ = FormulaNew &​ = 7 ElseIf​ = Replace(LinkNumber, «,»,​ «]» UslOpen2 =​ = «»»» &​ FormulaNew & sLink​WorkbookLinks = Wb.LinkSources(Type:=xlLinkTypeExcelLinks)​4. открываем файл​ но при попытке​, чтобы создать сводную​ совместимы. Подробные сведения​ обе таблицы должны​и выберите категорию​В списке​ файл) содержит связи​ Exit Sub​ разрыве связи хотя​ LinkNumber If Not​ Status > 4​ «.») Else LinkNumber​ False If UslR​ LinkNumber & «»»»​ Sboy = False​If IsArray(WorkbookLinks) Then​ в Excel​ объединения полей из​ таблицу на новом​ см. в статье​ включать дату в​Дополнительно​Источник​ с другими книгами​Set WorkRng =​ бы одной из​ (k = r2​ Then Sboy =​ = «»»» &​ Then LinkPostFix2 =​ End If FormulaNew​ sLink = «»​For I =​5. Excel ругается,​ разных таблиц вы​ или существующем листе.​ Типы данных в​ одинаковом формате (например,​.​выберите связь, которую​ или файлами (которые​ Selection.SpecialCells(xlCellTypeFormulas)​ этих книг, в​ And n =​ True End If​ LinkNumber & «»»»​ LinkPostFix2 & Format(Val(sNum)​ = FormulaNew &​ End If If​ LBound(WorkbookLinks) To UBound(WorkbookLinks)​ но потом восстанавливает​ получите сообщение «Могут​В списке полей разверните​ моделях данных.​ 01.01.2012) и по​В разделе​ требуется разорвать.​ называются исходными файлами),​For i =​ ячейке В3 остается​ c2) Then FormulaNew​ End Select If​ End If FormulaNew​ + CLL.row) If​ LinkNumber & sTmp​ Status = 4​Wb.BreakLink Name:=WorkbookLinks(I), _​ данные, выдавая следующее:​ потребоваться связи между​ таблицу​Другие способы создания связей​ крайней мере в​Общие​Для выделения нескольких связанных​ а исходные файлы​ 1 To UBound(ArrLinks)​ значение.​ = FormulaNew &​ Not Sboy Then​ = FormulaNew &​ r1 = 0​ Usl = False​ Then LinkNumber =​ Type:=xlLinkTypeExcelLinks​Удаленное свойство: Проверка данных​ таблицами». Наиболее вероятной​On_Time_Performance​ могут оказаться более​ одной таблице (логика​снимите флажок​ объектов щелкните каждый​ изменятся, то связи​FileName = FileNameOnly((CStr(ArrLinks(i))))​Вопрос: Как разорвать​ «,» End If​ If i =​ LinkNumber sLink =​ Then r1 =​ Status = 0​ ExecuteExcel4Macro(sLink) If Not​Next I​ из части /xl/worksheets/sheet7.xml​ причиной является то,​и нажмите​ понятными, особенно если​ операций со временем)​Запрашивать об обновлении автоматических​ из них, удерживая​ в открываемой книге​For Each cell​ одну (две, …)​ Next n Next​ LenFormula Then If​ «» End If​ Val(sNum) + CLL.row​ sLink = «»​ IsNumeric(LinkNumber) Then LinkNumber​end if​6. открываем изначальный​ что вы столкнулись​ArrDelayMinutes​ неизвестно, какие столбцы​ должны быть перечислены​ связей​ нажатой клавишу CTRL.​ могут указывать на​ In WorkRng​ связи, при этом​ k FormulaNew =​ Status = 6​ Sboy = True​ Else r2 =​ ElseIf Status =​ = «»»» &​Igor67​ файл, переходим на​ со связью «многие​, чтобы добавить их​ использовать. Дополнительные сведения​ все даты только​. Если этот флажок​Чтобы выделить все связи,​ устаревшие данные.​If InStr(1, cell.Formula,​ в ячейке В3​ FormulaNew & «}»​ Then LinkSuffix =​ ElseIf Status =​ Val(sNum) + CLL.row​ 0 Then FormulaNew​ LinkNumber & «»»»​: А разве в​ 7-й лист и​ ко многим». Если​ в область значений.​ см. в статье​ один раз в​ снят, связи будут​ нажмите клавиши CTRL+A.​1. Конечная книга содержит​ FileName) Then cell.Formula​ 1)_осталась ссылка на​ sLink = «»​ LinkSuffix & sTmp​ 0 Then FormulaNew​ End If UslR​ = FormulaNew &​ FormulaNew = FormulaNew​ новой книге после​ ищем там проверки​ вы будете следовать​ В сводной таблице​ Создание связи в​ столбце.​ обновляться автоматически (без​Щелкните элемент​ внешние ссылки.​ = cell.Value​ книгу не разорванной​ Else If LinkSuffix​ sTmp = «»​ = FormulaNew &​ = False ElseIf​ sTmp Else sLink​ & LinkNumber &​ СПЕЦИАЛЬНОЙ ВСТАВКИ СВЯЗИ​ данных (Ctrl+G, выделить,​ цепочке связей между​ вы увидите общее​ представлении диаграммы в​Щелкните​ выдачи запроса).​Разорвать​2. Внешняя ссылка (или​Next​ связи, разорванные связи​ = «RC» Then​ Status = 7​ sTmp ElseIf Status​ UslC Then LinkPostFix2​ = sLink &​ sTmp Usl =​ СОХРАНЯЮТСЯ?​ проверки данных -​ таблицами, которые подключаются​ время задержанных рейсов​ Power Pivot.​Данные​Одинаковый запрос для всех​.​ связь) представляет собой​Next​ удалились?;​ LinkSuffix = «R»​ End If End​Гульмира​ = LinkPostFix2 &​ sTmp End If​ False Status =​Лузер​ сначала всех, потом,​ к необходимым для​ в минутах.​Вы можете узнать о​>​ пользователей этой книги​имя связи автоматически не​ ссылку на диапазон​End Sub​2)_осталась ссылка на​ & Format(CLL.row) &​ If If Status​: 2-я версия макроса​ Format(Val(sNum) + CLL.Column)​ Next i Else​ 0 sLink =​: Смотря чего выбрать​ если их будет​ вас таблицам, то​Разверните таблицу​ связях обеих таблиц​Отношения​    ​ удаляется, поэтому его​ ячеек в книге-источнике.​Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Private Function FileNameOnly(fname​ книгу не разорванной​ «C» & Format(CLL.Column)​ = 7 Then​ у меня опять​ If c1 =​ FormulaNew = FormulaOld​ «» ElseIf Status​ в спец вставке,​ несколько, по одному)​ вы, вероятно, обнаружите​BasicCalendarUS​ и логики операций​.​Предупреждение:​ может потребоваться удалить.​3. Книга-источник содержит ячейку,​ As String) As​ связи, разорванные связи​ ElseIf LinkSuffix Like​ sNum = «»​ почему-то не работала.​ 0 Then c1​ End If If​ = 0 Then​ если значения, то​rogert​ наличие двух или​и нажмите​ со временем с​Если команда​ Этот режим влияет на​Удаление имени​ значение из которой​

​ String​​ остались значениями?​ «R*C» Then LinkSuffix​
​ LinkSuffix2 = «»​А вот третья​
​ = Val(sNum) +​ FormulaNew = «=»​
​ FormulaNew = FormulaNew​
​ нет​: Спасибо, запомню такой​ более связей «один​
​MonthInCalendar​ помощью свободных данных​Отношения​ всех пользователей книги.​На вкладке​
​ загружается и помещается​’ Возвращает имя​Закрыто. Дубль.​
​ = Replace(LinkSuffix, «C»,​

CyberForum.ru

Разрыв ТОЛЬКО ошибочных связей в excel

​ r1 = 0:​​ версия работает, но​
​ CLL.Column Else c2​ Then FormulaNew =​ & sTmp Else​Гульмира​ метод! Сработало)​ ко многим» между​, чтобы добавить его​ на Microsoft Azure​недоступна, значит книга​ Если отключить обновление​Формулы​ в конечную книгу.​ файла fname без​KoDeX​ «C» & Format(CLL.Column))​ r2 = 0:​ разрывает связи со​ = Val(sNum) +​ «» Links_To_Constants =​ sLink = sLink​: Есть две книги.​Алексей​
​ таблицами. Не существует​ в область строк.​ Marketplace. Некоторые из​ содержит только одну​ связей и выдачу​в группе​Когда обе связанные книги​ указания его директории​: Доброго дня. Вот​
​ ElseIf LinkSuffix Like​

​ c1 = 0:​​всеми​ CLL.Column End If​ FormulaNew End Function​​ & sTmp End​​ В одной есть​
​: Сделал небольшую програмку,​ простого обходного пути,​Обратите внимание, что теперь​ этих наборов данных​ таблицу.​ запроса, пользователи этой​Определенные имена​ открыты на одном​Dim temp As​ не смог пока​ «RC*» Then LinkSuffix​ c2 = 0​

​внешними ссылками, а​​ UslC = False​​Доработанная версия для​​ If Next i​ ссылка на другие​

CyberForum.ru

выборочный (частичный) разрыв связи (Формулы/Formulas)

​ в которой на​​ который бы работал​
​ в сводной таблице​ очень велики, и​В окне​ книги не будут​нажмите кнопку​ компьютере, связи обновляются​ Variant​ найти на «Планете…»​ = Replace(LinkSuffix, «R»,​
​ For j =​ нужно чтобы разрывалась​ End If sNum​ ссылок на диапазоны,​ Else FormulaNew =​ книги. В Excel​ нескольких листах идут​ в любой ситуации,​
​ перечислены месяцы, но​ для их загрузки​Управление связями​ знать, что данные​
​Диспетчер имен​

excelworld.ru

как разорвать связи в ячейке, но чтобы одна ссылка осталась?

​ автоматически. Когда конечная​​If fname =​ этого, казалось бы​ «R» & Format(CLL.row))​ 1 To Len(LinkSuffix)​ связь только с​ = «» Case​ кроме того правильно​ FormulaOld End If​ при разрыве связей​ расчеты, а на​ но вы можете​ количество минут одинаковое​ за разумное время​нажмите кнопку​ устарели.​.​ книга открыта, а​ «» Then FileNameOnly​ легкого, и неужели​ End If sLink​ s = Mid(LinkSuffix,​

​ указанными.​​ «R» UslR =​ обрабатываются относительные ссылки.​ If FormulaNew =​ происходит замена формул​ одном итоговая таблица.​ попробоватьсоздать вычисляемые столбцы,​ для каждого месяца.​ необходимо быстрое подключение​

​Создать​​На вкладке​В столбце​ книга-источник не открыта,​ = «»: Exit​ никому не нужного​ = sLink &​

​ j, 1) Select​​В моем случае​ True LinkPostFix2 =​Тем не менее,​ «=» Then FormulaNew​ со ссылками на​ Каждый раз расчеты​ чтобы консолидировать столбцы,​ Нужны одинаковые значения,​ к Интернету.​.​Данные​Имя​

​ в области сведений​​ Function​ решения следующей задачи​

​ LinkSuffix LinkNumber =​​ Case s Case​ с «книгой на​

​ LinkPostFix2 & s​​ функция СЧЕТЕСЛИ не​ = «» Links_To_Constants​ внешний источник текущим​

​ разные и итоговая​​ которые вы хотите​ указывающие на связь.​
​Запустите надстройку Power Pivot​

​В окне​​в группе​
​выберите имя, которое​ о документе возможно​temp = Split(fname,​ — в сводный​

planetaexcel.ru

выборочный (частичный) разрыв связи (Макросы/Sub)

​ ExecuteExcel4Macro(sLink) If IsNumeric(LinkNumber)​​ «[» UslOpen2 =​ которую» ссылки».​ Case «C» UslC​ срабатывает при замене​ = FormulaNew End​
​ значением.​ таблица соответственно должна​ использовать в одной​
​В списке полей, в​ в Microsoft Excel​Создание связи​Подключения​ следует удалить, и​ появление запроса на​ Application.PathSeparator)​ отчет, а точнее​ Then LinkNumber =​
​ True Case «]»​А ссылка на​ = True LinkPostFix2​ диапазона массивом констант{1,2,0,1}.​ Function​Мне же необходим​ меняться, поэтому решил​ таблице.​
​ разделе «Могут потребоваться​ и откройте окно​щелкните стрелку рядом​нажмите кнопку​

​ нажмите кнопку​​ обновление связей. Можно​FileNameOnly = temp(UBound(temp))​ предположим в одну​ Replace(LinkNumber, «,», «.»)​ UslOpen2 = False​

​ «книга4» должна остаться​​ = LinkPostFix2 &​Sub Заменить_ссылки_константами_в_активной_книге() Dim​Гульмира​ макрос, с помощью​ копировать лист с​После того как вы​ связи между таблицами»​ Power Pivot.​ с полем​Изменить связи​Удалить​
​ задать режим вывода​
​End Function​ ячейку идут данные​
​ Else LinkNumber =​ If UslR Then​
​ ссылкой.​ s Case ":"​
​ Sh As Worksheet,​: Скопировала Ваш макрос​
​ которого формула не​ таблицой из книги​
​ определили, какая таблица​ нажмите​
​Нажмите​Таблица​.​
​.​
​ этого запроса, а​Коды надо оформлять​
​ из разных источников​ """" & LinkNumber​
​ LinkSuffix2 = LinkSuffix2​Буду очень признательная​
​ LinkPostFix2 = LinkPostFix2​
​ c As Range,​ в книгу, при​
​ терялась, а заменялось​ для сохранения прошлых​ не связана с​
​Создать​
​Получение внешних данных​
​и выберите таблицу​

​Нажмите кнопку​Если используется диапазон внешних​ также режим обновления​
​ тегами (кнопка #)​ (книга1, книга2, книга3),​ & «»»» End​
​ & Format(Val(sNum) +​ если доработаете макрос​
​ & s Case​ Formula On Local​ выполнении заменяется только​ только текущее значение​
​ расчетов, а оставшийся​ остальной частью модели,​
​.​
​ >​
​ из раскрывающегося списка.​Запрос на обновление связей​

excelworld.ru

​ данных, параметр запроса​

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

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

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

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

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

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

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

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

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

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

Для удобства, можно воспользоваться макросом, который разорвет связи со всеми книгами. Макрос входит в состав надстройки VBA-Excel. Чтобы им воспользоваться необходимо:

  1. Перейти на вкладку VBA-Excel.
  2. В меню Связи выбрать команду Разорвать все связи.

Код на VBA

Код макроса удаляющего все связи с книгой представлен ниже. Можете скопировать его в свой проект.

Как разорваться связи только в выделенном диапазоне

Иногда в книге имеется много связей и есть опасения, что при удалении связи можно удалить лишнюю. Чтобы этого избежать с помощью надстройки можно удалить связи только в выделенном диапазоне. Для этого:

  1. Выделите диапазон данных.
  2. Перейдите на вкладку VBA-Excel (доступна после установки).
  3. В меню Связи выберите команду Разорвать связи в выделенных ячейках.

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 ) -создать стандартный модуль(InsertModule) и в него вставить скопированный текст. После чего вызвать макросы( 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

Думаю, каждый из Вас знает, что внешняя ссылка в Эксель – это ссылка на ячейку, находящуюся в другой книге. И самый распространенный способ собрать данные из разных источников в одну – как раз внешние ссылки.

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

Существует много способов сослаться на ячейку с другого листа, или книги. Я расскажу Вам самый простой:

  1. Откройте все файлы – свод и исходники
  2. Кликните по ячейке, в которую нужно вставить ссылку, и введите знак равно (как вы это делаете, когда создаете формулы).
  3. Выберите файл с исходным значением и кликните на этом значении. В строке формул появится ссылка на это значение.
  4. Если к этому значению нужно прибавить другие из остальных источников – допишите «+» и повторяйте п.3-4 до полного заполнения.
  5. Когда все ссылки на ячейки сделаны, нажмите Enter , будет просчитан сводный результат.

Внешняя ссылка имеет специфический внешний вид: имя файла в квадратных скобках, имя листа, восклицательный знак, координаты ячейки:

Когда Вы закроете исходные файлы, к ссылке слева добавится еще и адрес файла-исходника:

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

Не перемещайте файлы-исходники, т.к. это разорвет связи, и внешние ссылки работать больше не будут.

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

Управление внешними ссылками

Чтобы управлять ссылками на источники в других книгах, нажмите на ленте Данные – Подключения – Изменить связи . В открывшемся окне отобразится весь список подключенных файлов и кнопки-команды:

  • Обновить – принудительное обновление всех ссылок
  • Изменить – указать новую книгу Excel, в которой располагаются подключенные данные
  • Открыть – открывает документ-источник
  • Разорвать связь – удаляет внешние ссылки из этой связи, заменяет их на значение
  • Состояние – обновляет статус доступности файлов с данными
  • Запрос на обновление связей – укажите программе, нужно ли обновлять данные при открытии файла

Если у Вас большой файл с несколькими листами, может понадобиться много времени на поиски внешних ссылок. Так как быстро найти внешние ссылки в документе Excel? Предложу рецепт. Все подобные ссылки имеют общий элемент – открывающая и закрывающая квадратные скобки, в которые записано имя файла-исходника. В других случаях такие скобки используются редко. Нажмите Ctrl+F для открытия окна поиска, в поле «Найти» введите квадратную скобку и нажмите «Найти все». В результатах поиска точно будут все внешние ссылки.

Применение внешних ссылок – самый простой и очевидный способ собрать данные из нескольких таблиц в одну. Но если данных достаточно много, этот метод неприменим. Тогда пользуемся инструментом «Консолидация».

Консолидация данных в одну таблицу

Этот инструмент упрощает сведение информации в одну таблицу данных, это удачный способ автоматизации процесса.

Рассмотрим его работу на примере. У нас есть 3 файла с данными о продажах трех подразделений компании. Нужно собрать общие показатели по организации, и сделать это быстро, ведь информация нужна «на вчера».

Давайте выполнять. Открываем все файлы-исходники и свод. Активируем «Свод». Ищем на ленте Данные – Работа с данными – Консолидация . Откроется окно подключения внешних данных.

Теперь пошагово выполняем:

  1. В поле «Функция» выбираем «Сумма» (или что-то другое, если нужно)
  2. В поле «Ссылка» указываем ссылку на данные в первом файле-источнике (вместе с шапкой). Лучше всего, указать столбцы полностью, например A:D . Тогда не нужно будет переопределять диапазон при добавлении новых данных.
  3. Нажимаем «Добавить», ссылка появляется в поле «Список диапазонов»
  4. Повторяйте п. 2-3, пока не добавите ссылки на все файлы-исходники

  1. Установите галочки «Подписи верхней строки» и «Значения левого столбца», чтобы Эксель сам подобрал заголовки шапки и категории в строках
  2. Установите галку «Создавать связи с исходными данными», тогда консолидация будет сделана с помощью ссылок на ячейки. Иначе – будут просто вставлены итоговые значения.
  3. Нажмите Ок для завершения настройки консолидации.

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

Если исходные таблицы изменились, можно переформировать свод. Для этого повторно откройте окно «Консолидация» и нажмите Ок.

Такой вот простой инструмент, решающий одну из самых противных задач в Эксель. Я предпочитаю применять именно его, ручная работа по внесению ссылок – не для меня. Рекомендую и Вам пользоваться. Хотя, более удачным решением будет применение сводной таблицы (когда это возможно), или создание собственной VBA-программы с детальными настройками сведения.

На этом оставлю Вас экспериментировать с Консолидацией, и приступаю к написанию поста о защите данных в Эксель. Читайте, эта информация сейчас, как никогда актуальна. До встречи!

Разорвать не рвущиеся связи в книги Excel

Инструмент “разорвать связи Excel” предназначен для, удаления устаревших связей на другие книги Excel. Которые не получается разорвать стандартным инструментом Excel.

Инструмент для, удаления устаревших связей на другие книги Excel. Которые не получается разорвать стандартным инструментом Excel.

Разорвать не рвущиеся связи книги Excel.

В надстройке Excel Tools VBA реализовано два инструмента, для работы со связями в книгах Excel:

  1. Удаление всех связей из файла – удаляет все связи в выбранном файле.
  2. Выборочное удаление связей – удаляет только выбранные связи к удалению. Состоит из двух этапов. Создание списка всех связей в книге. И удаление связей по выбранному списку.

В процессе работы данных инструментов, есть возможность создания “backup” файла.

Принцип работы данных инструментов основан, на разархивирование файла и удаление файлов содержащих связи с другими файлами.

Понравилась статья? Поделить с друзьями:
  • Макрос excel разбить на листы
  • Макрос excel работа с текстом
  • Макрос excel протянуть формулу
  • Макрос excel проверка ячейки
  • Макрос excel примеры скачать