Ранее я имел дело с запросом ниже:
VBA Excel берет на себя управление ячейками в другой книге
относительно копирования данных из моей активной книги в какая-то внешняя рабочая тетрадь.
Теперь я хотел бы сделать аналоговую копию, но не как одну ячейку, а как диапазон.
Мой код выглядит следующим образом:
Sub Splicing()
Dim PoP As String, SN As String
Dim Fibre As Range
Dim newbook As Workbook
Dim fs As Worksheet
Set fw = Sheets("Frontsheet")
'name = fw.Range("AA9")
name = fw.Range("D18")
name2 = fw.Range("D38")
custom_name = name & " - Splicing As-build_v." & name2 & ".0"
PoP = ActiveWorkbook.Sheets("Frontsheet").Range("D10").Value
SN = ActiveWorkbook.Sheets("Frontsheet").Range("D12").Value
Fibre = ActiveWorkbook.Sheets("Fibre Drop Release Sheet").Range("A2:H20").Value
Path = ActiveWorkbook.Path & "\Splicing Template_V1.0.xlsm"
Set newbook = Workbooks.Open(Path)
newbook.Sheets("Frontsheet").Cells(10, 4).Value = PoP
newbook.Sheets("Frontsheet").Cells(12, 4).Value = SN
newbook.Sheets("Fibre drop release sheet").Cells(3, 2).Value = Fibre
Path = ActiveWorkbook.Path & "\" & custom_name & ".xlsm"
'Application.DisplayAlerts = False
ActiveWorkbook.SaveAs filename:=Path, FileFormat:=52
End Sub
Отладчик показывает строку Fiber = и говорит: Переменная объекта или переменная блока не установлена .
Я пытался также другое решение, представленное здесь:
https://www.extendoffice.com/documents/excel/3084-excel-copy-range-to-new-workbook.html
и здесь
VBA Копирование диапазона Excel в другую книгу
и здесь
http://debugvba.com/copy-data-from-one-sheet-to-another-workbook-vba-excel-debugvba/
но эти коды не соответствуют моему примеру