Я предвосхищу это, говоря, что я полный новичок в VBA, но не программирую. Я пытаюсь написать часть сценария VBA, который может копировать данные из одной рабочей таблицы в другой рабочей книге в уже существующую рабочую таблицу в другой рабочей книге.
Я пытаюсь использовать динамические диапазоны c, поскольку каждый раз знаю начальную точку для данных, однако возникают проблемы, связанные с копированием. Код работает до точки копии, где он застаивается без кодов ошибок. Эффективно застревает в стазисе, требующем действий пользователя.
Set sht = ThisWorkbook.Worksheets("Requisitions Raised")
Set StartCell = ThisWorkbook.Worksheets("Requisitions Raised").Range("A8")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column
Set startingRange = sht.Range(StartCell, sht.Cells(LastRow, LastColumn))
Set sht = Workbooks(FileName).Worksheets("1-Data")
Set StartCell = Workbooks(FileName).Worksheets("1-Data").Range("A8")
LastRow = sht.Cells(sht.Rows.Count, StartCell.Column).End(xlUp).Row
LastColumn = sht.Cells(StartCell.Row, sht.Columns.Count).End(xlToLeft).Column
Set copyRange = sht.Range(StartCell, sht.Cells(LastRow, LastColumn))
ThisWorkbook.Worksheets("Requisitions Raised").startingRange.Value = Workbooks(FileName).Worksheets("1-Data").copyRange.Value
Я также попробовал следующее безрезультатно
Workbooks(FileName).Worksheets("1-Data").copyRange.Copy Destination:=ThisWorkbook.Worksheets("Requisitions Raised").startingRange
Что является причиной ошибки? Есть ли лучшее решение для копирования?
Приветствия!