Как скопировать значение ячейки из другой книги Excel? - PullRequest
1 голос
/ 05 августа 2020

Допустим, я хочу скопировать ячейку C5 из книги 2 в книгу 1. Имя книги 2 - это переменная, указанная в ячейке D1 книги 1.

Проблема с использованием встроенного в Excel Indirect() функция заключается в том, что значение исчезает при закрытии книги 2. Я надеюсь, что есть простой макрос VBA, который может это сделать.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Похоже, у вас нет большого опыта работы с Excel VBA, позвольте мне дать вам общий подход к такому упражнению:

Вы можете записывать макросы: go на вкладку «Разработчики», начало записи, сделайте то, что хотите (копирование), и остановите запись. Там должен быть макрос, описывающий, что вы сделали.

К сожалению, при этом макрос будет примерно таким:

Source_Range.Copy
Destination_Range.Paste

Обычно рекомендуется заменить это на что-нибудь вот так:

Destination_Range.Value = Source_Range.Value

Удачи, и если у вас возникнут другие проблемы при этом, вы можете спросить еще раз, отредактировав свой вопрос (я буду следить за этим вопросом).

0 голосов
/ 05 августа 2020

Наблюдаемое вами поведение не является ограничением функции INDIRECT(), а является более общим ограничением функций Excel, имеющих доступ только к другим книгам, когда они открыты.

Вы можете использовать другую книгу в качестве источника данных, выбрав на ленте Данные> Получить данные> Из файла> Из книги . Выберите исходный лист на панели «Навигатор» и выберите «Загрузить». Это откроет редактор PowerQuery.

PowerQuery - это расширенная версия c, которую я не буду пытаться здесь полностью рассматривать, но преобразование по умолчанию должно дать вам таблицу, содержащую данные из исходного листа, не полагаясь на при открытии этой книги в другом экземпляре Excel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...