Excel для Microsoft 365 Excel для Интернета Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Вы можете ссылаться на содержимое ячеек в другой книге, создав формулу внешней ссылки. Внешняя ссылка (также называемая ссылкой) — это ссылка на ячейку или диапазон на книге Excel или ссылка на определенное имя в другой книге.
-
Откройте книгу, которая будет содержать внешнюю ссылку ( предназначенную книгу) и книгу с данными, с которых нужно связаться (из первой книги).
-
Вы выберите ячейку или ячейки, для которых вы хотите создать внешнюю ссылку.
-
Введите = (знак равенства).
Если вы хотите использовать функцию, например СУММ, введите ее имя и открываю скобки. Например, =СУММ(.
-
Перейдите в книгу-источник и щелкните книгу, содержаную ячейки, которые вы хотите связать.
-
Вы выберите ячейку или ячейки, на которые вы хотите связаться, и нажмите ввод.
Примечание: Если вы выберете несколько ячеек, например =[SourceWorkbook.xlsx]Лист1!$A$1:$A$10 и у вас есть текущая версия Microsoft 365,то можно просто нажать ввод, чтобы подтвердить формулу как формулу динамического массива. В противном случае формула должна быть введена как формула массива устаревшей, нажав CTRL+SHIFT+ВВОД. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
-
Excel возвращается в 9-ю книгу и отображаются значения из нее.
-
Обратите внимание Excel возвращает ссылку с абсолютными ссылками ,поэтому если вы хотите скопировать формулу в другие ячейки, вам потребуется удалить знак доллара ($):
=[SourceWorkbook.xlsx]Лист1! $ A$1
Если закрыть книгу-источник, Excel автоматически в формулу будет автоматически включен путь к файлу:
=’C:Reports[SourceWorkbook.xlsx]Sheet1′!$A$1
-
Откройте книгу, которая будет содержать внешнюю ссылку ( предназначенную книгу) и книгу с данными, с которых нужно связаться (из первой книги).
-
Вы выберите ячейку или ячейки, для которых вы хотите создать внешнюю ссылку.
-
Введите = (знак равенства).
-
Перейдите в книгу-источник и щелкните книгу, содержаную ячейки, которые вы хотите связать.
-
Нажмите F3, выберите имя, на которое будет ссылаться ссылка, и нажмитеввод.
Примечание: Если именуемая ячейка ссылается на несколько ячеек и у вас есть текущая версия Microsoft 365,можно просто нажать ввод, чтобы подтвердить формулу как формулу динамического массива. В противном случае формула должна быть введена как формула массива устаревшей, нажав CTRL+SHIFT+ВВОД. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
-
Excel вы вернетесь к книге назначения и отобразит значения из именоваемого диапазона в книге-источнике.
-
Откройте 9-ю книгу и книгу-источник.
-
В книге назначения перейдите к пункту Формулы > определенные имена >определить имя.
-
В диалоговом окне Новое имя в поле Имя введите имя диапазона.
-
В поле Ссылки удалите содержимое, а затем храните курсор в поле.
Если вы хотите использовать имя функции, введите имя функции и наведите курсор в то место, где вы хотите использовать внешнюю ссылку. Например, введите =СУММ()и расположить курсор между скобами.
-
Перейдите в книгу-источник и щелкните книгу, содержаную ячейки, которые вы хотите связать.
-
Выберите ячейку или диапазон ячеек, которые вы хотите связать, и нажмите кнопку ОК.
Внешние ссылки особенно полезны, если не целесообразно хранить большие модели в одной книге.
-
Объединение данных из нескольких книг Вы можете связать книги нескольких пользователей или отделов, а затем интегрировать их в итоговую книгу. В этом случае при изменении исходных книг не придется вручную изменять итоговую книгу.
-
Создание различных представлений данных Вы можете ввести все данные в одну или несколько исходных книг, а затем создать книгу отчета, содержаную внешние ссылки только на данные, которые содержатся в них.
-
Оптимизация больших сложных моделей Разбив сложную модель на несколько взаимосвязанных книг, вы можете работать с ней, не открывая все связанные с ней листы. Книги меньшего размеров проще изменять, не требуют так много памяти, и их быстрее открывать, сохранять и вычислять.
Формулы с внешними ссылками на другие книги отображаются двумя способами в зависимости от того, является ли книга-источник (которая содержит данные в формулу) открытой или закрытой.
Когда источник открыт, внешняя ссылка включает имя книги в квадратных скобках([ ]), за которым следуют имя таблицы, восклицательный пункт(!) и ячейки, от которых зависит формула. Например, следующая формула добавляет ячейки C10:C25 из книги с именем Budget.xls.
Внешняя ссылка |
---|
=СУММ([Budget.xlsx]Годовой! C10:C25) |
Если источник не открыт, внешняя ссылка включает весь путь.
Внешняя ссылка |
---|
=СУММ(‘C:Reports[Budget.xlsx]Annual’! C10:C25) |
Примечание: Если имя другого таблицы или книги содержит пробелы или небуквенные символы, необходимо заключенное имя (или путь) в одиночные кавычка, как по примеру выше. Excel будет автоматически добавлять эти данные при выборе исходных диапазонов.
В формулах, которые ссылаются на определенное имя в другой книге, используется имя книги, за которым следуют восклицательный пункт (!) и имя. Например, следующая формула добавляет ячейки из книги «Продажи» Budget.xlsx.
Внешняя ссылка |
---|
=СУММ(Budget.xlsx! Продажи) |
-
Вы выберите ячейку или ячейки, для которых вы хотите создать внешнюю ссылку.
-
Введите = (знак равенства).
Если вы хотите использовать функцию, например СУММ, введите ее имя и открываю скобки. Например, =СУММ(.
-
Переключение на таблицу с ячейками, на которые вы хотите связаться.
-
Вы выберите ячейку или ячейки, на которые вы хотите связаться, и нажмите ввод.
Примечание: Если выбрать несколько ячеек (=Лист1! A1:A10) и текущую версию Microsoft 365 ,после чего можно просто нажать ввод, чтобы подтвердить формулу как формулу динамического массива. В противном случае формула должна быть введена как формула массива устаревшей, нажав CTRL+SHIFT+ВВОД. Дополнительные сведения о формулах массива см. в статье Использование формул массива: рекомендации и примеры.
-
Excel вернуться на исходный и отобразить значения из исходного.
Создание внешней ссылки на ячейки в разных книгах
-
Откройте книгу, которая будет содержать внешнюю ссылку (9-ю книгу, также называемую книгой формул) и книгу с данными, с которых должна быть связь (книга-источник данных, также называемая книгой данных).
-
В книге-источнике выберите ячейку или ячейки, которые нужно связать.
-
Нажмите CTRL+C или перейдите на главная> буфер обмена > Копировать.
-
Перейдите к книге назначения, а затем щелкните на том месте, куда нужно поместить связанные данные.
-
Выберите ячейку, в которой вы хотите разместить связанные данные, а затем перейдите на главная> буфер обмена> в> в буфер обмена.
-
Excel возвращает данные, скопированные из книги-источника. Если вы измените его, он будет автоматически изменяться в конечной книге при обновлении окна браузера.
-
Чтобы использовать ссылку в формуле, введите = перед ссылкой, выберите функцию, введите (и введите ) после ссылки.
Создание связи с книгой
-
Вы выберите ячейку или ячейки, для которых вы хотите создать внешнюю ссылку.
-
Введите = (знак равенства).
Если вы хотите использовать функцию, например СУММ, введите ее имя и открываю скобки. Например, =СУММ(.
-
Переключение на таблицу с ячейками, на которые вы хотите связаться.
-
Вы выберите ячейку или ячейки, на которые вы хотите связаться, и нажмите ввод.
-
Excel вернуться на исходный и отобразить значения из исходного.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
См. также
Определение и использование имен в формулах
Поиск ссылок (внешних ссылок) в книге
Нужна дополнительная помощь?
Содержание
- 1 Типы ссылок
- 2 Процесс создания ссылки на ячейку в другом файле
- 3 Внешний вид Excel ссылки на ячейку в другом файле
- 4 Обновление данных в файле
- 5 Ссылка на лист в формуле Excel
- 6 Как сделать ссылку на лист в Excel?
- 7 Ссылка на лист в другой книге Excel
Рубрика Excel
Также статьи о ссылках в Экселе:
- Как добавить в Excel ссылку на файл?
- Эксель ссылка на ячейку
- Как сделать абсолютную ссылку в Excel?
- Пример относительной ссылки в Excel
Ссылка на ячейку в другом файле Excel, как сложить ячейки из разных файлов в excel, как сделать ссылку на ячейку в другом файле excel, как вставить ссылку на ячейку в другом файле excel, как добавить ссылку на ячейку в другом файле excel
Когда имеется много файлов с различными данными в Экселе, для удобства анализа все данные могут сводится в одну таблицу в совершенно другом документе Эксель. Для этого всего лишь потребуется в формуле ссылка на ячейку в другом файле Excel.
Сделать ссылку на ячейку в другом файле Excel довольно просто. Если предполагается, что книга, из которой будут браться значения, будет в этот момент всегда открыта, то после знака равно в формуле в квадратных скобках указывается полное название файла с расширением, затем указывается название листа, на котором размещается ячейка, и после восклицательного знака указывается адрес конкретной ячейки.
Если в названии файла присутствуют пробелы, то название файла с названием листа дополнительно берутся в одинарные кавычки.
Чтобы Эксель всегда мог взять данные из файла, даже если он будет закрыт, в адресе необходимо указывать полный путь к файлу.
В приложении Microsoft Office Excel возможно использовать данные не только открытой рабочей таблицы, но и задействовать данные других файлов Excel. Кроме того, если имеется несколько файлов Excel с разными сведениями, для удобства систематизации и анализа информации можно создать отдельный документ, который будет обобщать и производить необходимые расчеты с информацией этих документов.
С данной целью применяются Excel ссылки на ячейки в другом файле, которые представляют собой адрес ячейки или диапазона ячеек другой рабочей таблицы.
Типы ссылок
От типа ссылки зависит, на какие значения будет указывать ссылка при ее перемещении:
- Относительная ссылка показывает значение ячейки, удаленной от самой себя на одинаковое расстояние. При перемещении такой ссылки на один столбец вправо, ее значение будет соответствовать значению ячейки, расположенной на один столбец правее изначальной. Приложение Microsoft Office Excel обычно по умолчанию использует этот вид ссылок.
- Абсолютная ссылка показывает значение одной и той же ячейки исходных данных. Создается она путем некоторой корректировки готовой формулы. Для этого в ссылке перед номером столбца и строки устанавливается символ $. Если символ доллара устанавливается только перед номером столбца/строки, то с перемещением ссылки ее значения будут меняться в пределах указанного столбца/строки исходных данных.
- Смешанная ссылка включает в себя оба способа использования исходных данных.
При создании ссылки «Эксель» на ячейку другого файла следует использовать имя для ссылки на используемые ячейки. С применением имени использование значений необходимых ячеек упрощается. Такие ссылки не изменяются при перемещении исходных данных либо самих ссылок, так как имя ссылается на конкретный диапазон ячеек.
Процесс создания ссылки на ячейку в другом файле
Как происходит?
- Открываем исходный файл Excel, в котором проводится работа, и второй, данные которого необходимо использовать в текущем файле.
- В исходном выделяем ячейку, в которой требуется создать ссылку, то есть использовать значения другого документа.
- Вводим в ячейку знак равенства. Если с данными ссылки необходимо выполнить вычисления, то далее вносится функция либо другие значения, которые должны предшествовать значению ссылки.
- Переходим ко второму файлу с необходимыми нам данными, выбираем лист документа, содержащий ячейки, на которые нужно сослаться.
- Выделяем ячейку или группу ячеек, на данные которых требуется создать ссылку.
- Если формула предполагает внесение дополнительных функций или данных, то переходим к исходному документу и дополняем формулу, после чего завершаем операцию нажатием клавиш Ctrl+Shift+Enter.
- В исходном файле просматриваем итоговую формулу, при необходимости корректируем ее, после чего снова нажимаем Ctrl+Shift+Enter.
Как выглядит?
- Ссылка на значение одной ячейки: =Лист1!А1
- Ссылка на значение диапазона ячеек: =Лист1!А1:В5
Такой вид будут они иметь, если файл, данные которого используются для ссылки, будет открыт во время работы.
Для того чтобы использовать данные файла, который в данный момент закрыт, в ссылке необходимо указывать полный путь к файлу:
=D:ПапкаЛист1!A1
Обновление данных в файле
Если оба используемых документа открыты, а в исходном изменяются значения ячеек, которые используются в ссылке Excel на ячейку в другом файле, то происходит автоматическая замена данных и, соответственно, пересчет формул в текущем файле, содержащем ссылку.
Если данные ячеек исходного файла изменяются, когда документ со ссылкой закрыт, то при следующем открытии этого файла программа выдаст сообщение с предложением обновить связи. Следует согласиться и выбрать пункт «Обновить». Таким образом, при открытии документа ссылка использует обновленные данные исходного файла, а пересчет формул с ее использованием произойдет автоматически.
Кроме создания ссылок на ячейки в другом файле, в Excel реализовано еще множество различных возможностей, позволяющих сделать процесс работы намного удобнее и быстрее.
Гиперссылки широко используются в Интернете для навигации по сайтам и документам. Работая с файлами Excel вы также можете создавать гиперссылки, как на интернет-ресурсы, так и на ячейки, файлы или форму отправку Email.
Гиперссылка в Excel это ссылка, нажав на которую, пользователь может быть перемещен на конкретную ячейку, документ или интернет-страницу.
Excel позволяет создавать гиперссылки для:
- Перехода в определенное место в текущей книге;
- Открытия другого документа или перехода к определенному месту в этом документе, например лист в файле Excel или закладке в документе Word;
- Перехода на веб-страницу в Интернете;
- Создания нового файла Excel;
- Отправки сообщения электронной почты по указанному адресу.
Гиперссылку в Excel легко заметить, она выглядит как подчеркнутый текст, выделенный синим цветом:
В Excel существует два типа гиперссылок: абсолютные и относительные.
Абсолютные гиперссылки содержат в себе полный интернет-адрес или полный путь на компьютере. Например:
“https://excelhack.ru/funkciya-rept-povtor-v-excel/”
C:DesktopПрезентации
Относительные ссылки содержат в себе частичный путь, например:
funkciya-rept-povtor-v-excel/
DesktopПрезентации
Я рекомендую всегда использовать абсолютные ссылки, так как при переходе по относительным ссылкам в Excel-файле, открытом на другом компьютере возможны ошибки.
Чтобы создать гиперссылку проделайте следующие шаги:
- Выделите ячейку, в которой вы хотите создать гиперссылку;
- Нажмите правую клавишу мыши;
- В выпадающем меню выберите пункт “Ссылка”:
- В диалоговом окне выберите файл или введите веб-адрес ссылки в поле “Адрес”:
- Нажмите “ОК”
Ниже, мы подробней разберем как создать гиперссылку:
- На другой документ;
- На веб-страницу;
- На конкретную область в текущем документе;
- На новую рабочую книгу Excel;
- На окно отправки Email.
Чтобы указать гиперссылку на другой документ, например Excel, Word или Powerpoint файлы:
- Откройте диалоговое окно для создания гиперссылки;
- В разделе “Связать с” выберите “Файлом, веб-страницей”;
- В поле “Искать в” выберите папку, в которой лежит файл, на который вы хотите создать ссылку;
- В поле “Текст” введите текст, который будет отображаться в качестве ссылки;
- Нажмите “ОК”.
Созданная вами гиперссылка будет выглядить ровно так, как вы настроили ее отображение.
Чтобы указать гиперссылку веб-страницу:
- Откройте диалоговое окно для создания гиперссылки;
- В разделе “Связать с” выберите пункт “Файлом, веб-страницей”;
- Нажмите на кнопку “Интернет”;
- Введите адрес веб-страницы в поле “Адрес”;
- В поле “Текст” укажите текст, отображаемый в виде ссылки.
Для создания гиперссылки на конкретный лист текущего файла Excel или ячейки:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью “Связать с” выберите “Файлом, веб-страницей”;
- В диалоговом окне нажмите кнопку “Закладка…” и выберите лист создания ссылки. В поле “Введите адрес ячейки” укажите ячейку.
Для вставки гиперссылки, после нажатия на которую будет создан новый Excel-файл:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью “Связать с” выберите “Новый документ”;
- В поле “Текст” укажите текст ссылки;
- В поле “Имя нового документа” укажите название нового Excel-файла;
- В поле “Путь” укажите место хранения, где будет сохранен новый файл;
- В поле “Когда вносить правку в новый документ” укажите настройку, когда следует приступить к редактированию нового файла после нажатия ссылки.
- Нажмите кнопку “ОК”
Для вставки гиперссылки, после нажатия на которую будет создан e-mail:
- Откройте диалоговое окно для создания гиперссылки;
- В левой колонке диалогового окна под надписью “Связать с” выберите “Электронная почта”;
- В поле “Текст” укажите текст ссылки;
- В поле “Адрес эл. почты” укажите E-mail адрес, куда будет отправлено письмо;
- В поле “Тема” укажите тему создаваемого письма;
- Нажмите кнопку “ОК”
Как редактировать гиперсcылку в Excel
Для редактирования уже созданной гиперссылки, кликните по ячейке с ссылкой правой клавишей мыши и в выпадающем меню выберите “Edit Hyperlink”.
В диалоговом окне внесите корректировки в ссылку.
По-умолчанию, все гиперссылки в Excel имеют традиционный формат в виде подчеркнутого текста синего цвета. Для того чтобы изменить формат гиперссылки:
- Перейдите на вкладку панели инструментов “Главная”, затем в раздел “Стили ячеек”:
- Кликните на “Гиперссылка” правой кнопкой мыши и выберите пункт “Изменить” для редактирования формата ссылки:
- Кликните на “Открывавшаяся гиперссылка” правой кнопкой мы и выберите пункт “Изменить” для редактирования формата ссылки;
- В диалоговом окне “Стили” нажмите кнопку “Формат”:
- диалоговом окне “Format Cells” перейдите на вкладки “Шрифт” и/или “Заливка” для настройки формата ссылок:
- Нажмите кнопку “ОК”.
Удаление гиперссылки осуществляется в два клика:
- Нажмите правой клавишей мыши на ячейки с ссылкой;
- В выпадающем меню выберите пункт “Удалить гиперссылку”.
На всех предыдущих уроках формулы и функции ссылались в пределах одного листа. Сейчас немного расширим возможности их ссылок.
Excel позволяет делать ссылки в формулах и функциях на другие листы и даже книги. Можно сделать ссылку на данные отдельного файла. Кстати в такой способ можно восстановить данные из поврежденного файла xls.
Ссылка на лист в формуле Excel
Доходы за январь, февраль и март введите на трех отдельных листах. Потом на четвертом листе в ячейке B2 просуммируйте их.
Возникает вопрос: как сделать ссылку на другой лист в Excel? Для реализации данной задачи делаем следующее:
- Заполните Лист1, Лист2 и Лист3 так как показано выше на рисунке.
- Перейдите на Лист4, ячейка B2.
- Поставьте знак «=» и перейдите на Лист1 чтобы там щелкнуть левой клавишей мышки по ячейке B2.
- Поставьте знак «+» и повторите те же действия предыдущего пункта, но только на Лист2, а потом и Лист3.
- Когда формула будет иметь следующий вид: =Лист1!B2+Лист2!B2+Лист3!B2, нажмите Enter. Результат должен получиться такой же, как на рисунке.
Как сделать ссылку на лист в Excel?
Ссылка на лист немного отличается от традиционной ссылки. Она состоит из 3-х элементов:
- Имя листа.
- Знак восклицания (служит как разделитель и помогает визуально определить, к какому листу принадлежит адрес ячейки).
- Адрес на ячейку в этом же листе.
Примечание. Ссылки на листы можно вводить и вручную они будут работать одинаково. Просто у выше описанном примере меньше вероятность допустить синтактическую ошибку, из-за которой формула не будет работать.
Ссылка на лист в другой книге Excel
Ссылка на лист в другой книге имеет уже 5 элементов. Выглядит она следующим образом: =’C:DocsЛист1′!B2.
Описание элементов ссылки на другую книгу Excel:
- Путь к файлу книги (после знака = открывается апостроф).
- Имя файла книги (имя файла взято в квадратные скобки).
- Имя листа этой книги (после имени закрывается апостроф).
- Знак восклицания.
- Ссылка на ячейку или диапазон ячеек.
Данную ссылку следует читать так:
- книга расположена на диске C: в папке Docs;
- имя файла книги «Отчет» с расширением «.xlsx»;
- на «Лист1» в ячейке B2 находится значение на которое ссылается формула или функция.
Полезный совет. Если файл книги поврежден, а нужно достать из него данные, можно вручную прописать путь к ячейкам относительными ссылками и скопировать их на весь лист новой книги. В 90% случаях это работает.
Без функций и формул Excel был бы одной большой таблицей предназначенной для ручного заполнения данными. Благодаря функциям и формулам он является мощным вычислительным инструментом. А полученные результаты, динамически представляет в желаемом виде (если нужно даже в графическом).
На всех предыдущих уроках формулы и функции ссылались в пределах одного листа. Сейчас немного расширим возможности их ссылок.
Excel позволяет делать ссылки в формулах и функциях на другие листы и даже книги. Можно сделать ссылку на данные отдельного файла. Кстати в такой способ можно восстановить данные из поврежденного файла xls.
Ссылка на лист в формуле Excel
Доходы за январь, февраль и март введите на трех отдельных листах. Потом на четвертом листе в ячейке B2 просуммируйте их.
Возникает вопрос: как сделать ссылку на другой лист в Excel? Для реализации данной задачи делаем следующее:
- Заполните Лист1, Лист2 и Лист3 так как показано выше на рисунке.
- Перейдите на Лист4, ячейка B2.
- Поставьте знак «=» и перейдите на Лист1 чтобы там щелкнуть левой клавишей мышки по ячейке B2.
- Поставьте знак «+» и повторите те же действия предыдущего пункта, но только на Лист2, а потом и Лист3.
- Когда формула будет иметь следующий вид: =Лист1!B2+Лист2!B2+Лист3!B2, нажмите Enter. Результат должен получиться такой же, как на рисунке.
Как сделать ссылку на лист в Excel?
Ссылка на лист немного отличается от традиционной ссылки. Она состоит из 3-х элементов:
- Имя листа.
- Знак восклицания (служит как разделитель и помогает визуально определить, к какому листу принадлежит адрес ячейки).
- Адрес на ячейку в этом же листе.
Примечание. Ссылки на листы можно вводить и вручную они будут работать одинаково. Просто у выше описанном примере меньше вероятность допустить синтактическую ошибку, из-за которой формула не будет работать.
Ссылка на лист в другой книге Excel
Ссылка на лист в другой книге имеет уже 5 элементов. Выглядит она следующим образом: =’C:Docs[Отчет.xlsx]Лист1′!B2.
Описание элементов ссылки на другую книгу Excel:
- Путь к файлу книги (после знака = открывается апостроф).
- Имя файла книги (имя файла взято в квадратные скобки).
- Имя листа этой книги (после имени закрывается апостроф).
- Знак восклицания.
- Ссылка на ячейку или диапазон ячеек.
Данную ссылку следует читать так:
- книга расположена на диске C: в папке Docs;
- имя файла книги «Отчет» с расширением «.xlsx»;
- на «Лист1» в ячейке B2 находится значение на которое ссылается формула или функция.
Полезный совет. Если файл книги поврежден, а нужно достать из него данные, можно вручную прописать путь к ячейкам относительными ссылками и скопировать их на весь лист новой книги. В 90% случаях это работает.
Без функций и формул Excel был бы одной большой таблицей предназначенной для ручного заполнения данными. Благодаря функциям и формулам он является мощным вычислительным инструментом. А полученные результаты, динамически представляет в желаемом виде (если нужно даже в графическом).
fxnice
Пользователь
Сообщений: 4
Регистрация: 01.12.2015
Спасибо, перенос данных работает, но проблема в следующем: нужно, чтобы при каждом открытии файла-приемника данные при переносе обновлялись, так как в файле-источнике переносимые данные не постоянны (в них есть элемент рандома).Если каждый раз, сначала открывать файл-источник, сохранять его, а затем открывать файл-приемник — все работает как надо, НО я не могу каждый раз открывать файл-источник. Можно ли сделать как то автообновление файла-источника каждые 2 секунды и чтобы это обновление происходило БЕЗ открытия файла источника? Это вообще возможно?
Обращение к ячейке в другой книге Excel из кода VBA по ссылке, содержащейся в ячейке текущей книги. Переход по ссылке в другую книгу. Примеры.
Ссылки на другую книгу
В ячейку «A1» листа «Лист6» текущей книги вставлена ссылка на ячейку «C12» листа «Лист1» книги «Другая книга.xlsm».
Ссылка в ячейке, если книга «Другая книга.xlsm» открыта:
=‘[Другая книга.xlsm]Лист1’!$C$12 |
Ссылка в ячейке, если книга «Другая книга.xlsm» закрыта:
=‘C:UsersEvgeniyDesktop[Другая книга.xlsm]Лист1’!$C$12 |
Если путь до ячеек содержит пробелы, как в этом примере, он заключается в апострофы.
Перед обращением к другой книге необходимо проверить – открыта ли она. Если книга закрыта, ее следует открыть. Один из вариантов кода смотрите в параграфе «Примеры обращения к другой книге».
Обращение к ячейке по ссылке
Обращение из кода VBA Excel к ячейке в другой книге для определения ее координат по ссылке из ячейки «Лист6!A1» текущей книги:
MsgBox Range(ThisWorkbook.Sheets(«Лист6»).Range(«A1»).Formula).Row ‘Результат = 12 MsgBox Range(ThisWorkbook.Sheets(«Лист6»).Range(«A1»).Formula).Column ‘Результат = 3 |
Примеры обращения к другой книге
Условие
В ячейке «A1» листа «Лист6» текущей книги размещена ссылка: ='[Другая книга.xlsm]Лист1'!$C$12
. Необходимо перейти по ссылке из ячейки «Лист6!A1» в другую книгу, скопировать диапазон из 9 ячеек (3х3) в другой книге, где первой ячейкой диапазона является ячейка из ссылки, и вставить скопированный диапазон в диапазон «Лист6!A2:C4» текущей книги.
Решение
Если точно известно, что другая книга открыта:
Sub Primer1() With ThisWorkbook.Sheets(«Лист6») Range(.Range(«A1»).Formula).Resize(3, 3).Copy .Range(«A2:C4») End With End Sub |
Если неизвестно, открыта другая книга или нет:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
‘Функция для проверки состояния книги (открыта или нет) Function BookOpenClosed(wbName As String) As Boolean Dim myBook As Workbook On Error Resume Next Set myBook = Workbooks(wbName) BookOpenClosed = Not myBook Is Nothing End Function Sub Primer2() Dim s1 As String, s2 As String, s3 As String, n1 As Long, n2 As Long ‘записываем ссылку из ячейки Лист6!A1 в переменную s1 s1 = ThisWorkbook.Sheets(«Лист6»).Range(«A1»).Formula ‘вырезаем имя книги из ссылки и записываем в переменную s2 n1 = InStr(s1, «[«) n2 = InStr(s1, «]») s2 = Mid(s1, n1 + 1, n2 — n1 — 1) ‘проверяем состояние книги If Not BookOpenClosed(s2) Then ‘если книга закрыта, вырезаем путь к ней из ссылки и записываем в переменную s3 n1 = InStr(s1, «:») — 1 n2 = InStrRev(s1, ««) s3 = Mid(s1, n1, n2 — n1 + 1) ‘открываем другую книгу, объединив путь к ней и ее имя Workbooks.Open (s3 & s2) End If ‘копируем ячейки из другой книги в текущую Range(s1).Resize(3, 3).Copy ThisWorkbook.Sheets(«Лист6»).Range(«A2:C4») End Sub |
И еще один вариант кода VBA Excel для случаев, когда неизвестно, открыта книга или нет. Здесь просто осуществляется попытка открыть книгу, и она будет открыта, если в ячейке содержится ее полное имя, включая диск и подкаталоги. В случае возникновения ошибки, управление будет передано следующей строке.
Sub Primer3() Dim s1 As String, s2 As String, n1 As Long, n2 As Long ‘записываем ссылку из ячейки Лист6!A1 в переменную s1 s1 = ThisWorkbook.Sheets(«Лист6»).Range(«A1»).Formula ‘вырезаем полное имя книги из ссылки и записываем в переменную s2 On Error Resume Next n1 = InStr(s1, «:») — 1 n2 = InStrRev(s1, «]«) s2 = Mid(s1, n1, n2 — n1) s2 = Replace(s2, «[«, ««) ‘пробуем открыть книгу, если она не открыта Workbooks.Open (s2) On Error GoTo 0 ‘копируем ячейки из другой книги в текущую Range(s1).Resize(3, 3).Copy ThisWorkbook.Sheets(«Лист6«).Range(«A2:C4«) End Sub |
Переход к ячейке по адресу из формулы рабочего листа в пределах одной книги смотрите в следующей статье.