Я попытался изменить некоторый код, который копировал все рабочие листы и вставлял их в новую рабочую книгу в новый лист.
Проблема в том, что мне нужны только определенные области, которые начинаются с A5, но последняя строка и столбецдинамично и постоянно меняется.
В идеале я хотел бы скопировать каждый диапазон в новый лист в пакетном редакторе и оставить только разницу имен исходных листов, поскольку я хочу скопировать диапазон в А1 новых листов.
Sub CopyWorkbook()
Dim sh As Worksheet, wb As Workbook, sb As Workbook
Dim lRow As Long
Dim lCol As Long
Dim curName As String
Dim copy_value As Range
' get reference to both workbooks
Set sb = Workbooks("Current VA Rating Structure_test")
Set wb = Workbooks("rater_tables")
' loop through worksheets in "Rating Structure" workbook
For Each sh In sb.Worksheets
' get the max row & col of the worksheet, as well as its name
lRow = sh.Cells(sh.Rows.Count, 1).End(xlUp).Row
lCol = sh.Cells(lRow, 1).End(xlToRight).Column
curName = sh.Name
' add a worksheet to the "Rate Tables" workbook and set its name
wb.Worksheets.Add(After:=Worksheets(1)).Name = curName
' copy the range from the old sheet to the new one
sh.Range(sh.Cells(5, 1), sh.Cells(lRow, lCol)).Copy wb.Worksheets(curName).Range("A1")
Next sh
End Sub