Создал макрос для сохранения листов в отдельные файлы.
Но все значения берутся из третьего листа, из за этого в новых файлах остаются формулы, которые ссылаются на этот файл.
А необходимо скопировать с листа именно значения, а не формулы, чтобы значения не изменялись.
Макрос
Sub SplitSheets2()
Dim s As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
Dim sA As String
sA = wb.Sheets("АктСчет").Range("I1")
Set s = wb.Sheets(2)
s.Copy
ActiveWorkbook.SaveAs wb.Path & "\" & sA & ".xlsx"
sA = wb.Sheets("АктСчет").Range("I2")
Set s = wb.Sheets(3)
s.Copy
ActiveWorkbook.SaveAs wb.Path & "\" & sA & ".xlsx"
End Sub
Скопировать целиком лист без формул нельзя. Формулы можно потом преобразовать в значения на созданном листе. Для этого нужно скопировать фрагмент, в котором формулы, и вставить скопированное в виде значений. В данном макросе используется весь используемый фрагмент. Не знаю, подойдёт ли вам такой вариант. Если нет, то работайте не со всем используемым фрагментом, а только с тем, в котором формулы.
Макрос
Sub SplitSheets2()
Dim bk As Workbook, sh As Worksheet, sh_new As Worksheet
Dim ИмяФайла As String
Set bk = ActiveWorkbook
ИмяФайла = bk.Sheets("АктСчет").Range("I1")
Set sh = bk.Sheets(2)
sh.Copy
Set sh_new = ActiveSheet
sh_new.UsedRange.Copy
sh_new.UsedRange.PasteSpecial xlPasteValues
ActiveWorkbook.SaveAs bk.path & "\" & ИмяФайла & ".xlsx"
ИмяФайла = bk.Sheets("АктСчет").Range("I2")
Set sh = bk.Sheets(3)
sh.Copy
Set sh_new = ActiveSheet
sh_new.UsedRange.Copy
sh_new.UsedRange.PasteSpecial xlPasteValues
ActiveWorkbook.SaveAs bk.path & "\" & ИмяФайла & ".xlsx"
Application.CutCopyMode = False
End Sub
Спасибо. Заработало.