Добрый день.
Задача:
Перенести данные из конкретных ячеек закрытого файла Эксель в конкретные ячейки другого файла Эксель по нажатию кнопки через макрос:
'Sheets("Имя листа").Cells(Норме строки, Номер столбца) = "='C:\Имя папки\[Имя файла.xlsx]Имя листа'!B2"
Вопрос:
Возможно ли в гиперссылку Имя файла и Имя листа передавать переменными параметрами и какой правильный синтаксис для этого?
Неработающее решение (фото шагов прилагается):
Шаг 1.
На диске С в папке А размещены файлы-первоисточники от двух магазинов ПФК и ПФКС, которые содержат данные о продажах 13.03.2020 г. Имена файлов содержат название магазина и дату отчета. В этой же папке имеется файл «Свод», содержащий макрос, который по нажатию кнопки из закрытых файлов-первоисточников переносит данные в сводную таблицу: «магазин», «дата», «сумма продаж».
Шаг 2.
В файле «Свод» пользователь в одной ячейке задает название магазина, во второй ячейке задает дату. Т.о. название магазина и дата являются переменными величинами. Далее название магазина и дату надо объединить и затолкать в гиперссылку на этот файл.Шаг 3.
В файле «Свод» формируется пользовательская гиперссылка с помощью функций ГИПЕРССЫЛКА() и СЦЕПИТЬ():
=ГИПЕРССЫЛКА(СЦЕПИТЬ($H$2;"='C:\A\[";'Движение денег'!$B$2;"_";'Движение денег'!$B$3;".xlsx]";"Движение денег'!B2";$H$2))
Содержание данной гиперссылки изменяется в зависимости от того, какой
магазин и какую дату выбирает пользователь.
Шаг 4.
На кнопку «Перенести данные» привязан макрос копирования данных из нужных ячеек закрытых файлов в нужные ячейки файла Свод.
Для этого гиперссылку с Шага 3 запоминаем в переменную:
Dim prihodE As String
prihodE = Sheets("Справочник").Cells(7, 9)
Далее переменную впечатываю в нужную ячейку
Sheets("Движение денег").Cells(Rows + 3, Columns) = prihodE
В результате в сводной таблице выводится просто текст, а не по гиперссылке подтягиваются данные из закрытого исходного файла.
Очень благодарен за совет.