Переносит в таблицу закрытой книги значения данных активной книги.
Копирует значения ячейки n-раз (где n - величина изменяемого диапазона), а также значения изменяемого диапазона ячеек, добавляя их в таблицу закрытого файла.
Sub Заполнение()
Dim dat, kol As Variant
Dim nn, LastRow As Long
With Workbooks("Файл1.xlsm").Sheets("Лист1") 'книга и лист, из которых производится копирование
dat = .Range("D2").Value 'ячейка, из которой копируются значения
LastRow = .Cells(.Rows.Count, "Q").End(xlUp).Row 'размер копируемого изменяемого диапазона (определяется по столбцу "Q" от первой снизу непустой ячейки столбца до первой ячейки диапазона, из которого копируются значения)
kol = .Range(Cells(6, 13), Cells(LastRow, 13)).Value 'первая ячейка диапазона "M6", из которого копируются значения
nn = .Cells(.Rows.Count, .Range("N1").Column).End(xlUp).Row - 5 'размер копируемого изменяемого диапазона (определяется по столбцу "N" от первой снизу непустой ячейки столбца до первой ячейки столбца минус "5" строк, отведенных на "шапку" таблицы и пространство над "шапкой"
End With
Workbooks.Open Filename:="D:\Файл2.xlsm" 'книга, в которую производится копирование
With Sheets("Лист2") 'лист, в который производится копирование
.Cells(.Rows.Count, 2).End(xlUp).Cells(1, 1).Resize(nn).Value = dat 'первая снизу пустая ячейка столбца "B", в который n-раз копируются значения ячейки "D2"
.Cells(.Rows.Count, 3).End(xlUp).Cells(1 - nn, 1).Resize(nn).Value = kol 'ячейка столбца "C", в который копируются значения диапазона ячеек, находящаяся на уровне первой снизу пустой ячейки столбца "B" до копирования в нее значений ячейки "D2"
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub