Я собираюсь импортировать некоторые значения из одной рабочей книги в другую.
Я хочу сделать это, просматривая именованные диапазоны в целевой книге и копируя эти именованные диапазоны в исходной книге с точно таким же именем. Соответствующие имена, которые будут скопированы, перечислены в листе под названием «Имена» в целевой книге.
Фактические именованные диапазоны находятся в рабочем листе под названием TargetSheet (я дал многим отдельным ячейкам одно имя).
Я знаю, как скопировать один именованный диапазон из рабочей книги в другую, при наборе этого работает:
ThisWorkbook.Sheets ("TargetSheet"). Range ("TagName") = _
Workbooks ( "Источник"). Sheets ( "SourceSheet"). Range ( "TagName").
Однако мне не удается создать цикл, который копирует значения из всех соответствующих именованных диапазонов, даже если я включаю в строку кавычки.
For i = 2 To 8
For j = 1 To 6
CurrentName = """" & ThisWorkbook.Sheets("Names").Cells(i, j) & """"
ThisWorkbook.Sheets("Target").Range(CurrentName) = _
Workbooks("Source").Sheets("SourceSheet").Range(CurrentName)
Next j
Next i
Приведенный выше код выдает сообщение об ошибке «Ошибка приложения или объекта», хотя я надеялся, что около 42 ячеек получат обновленные значения.