У меня есть лист в рабочей книге (.xlsm), который я хочу «скопировать» в новую рабочую книгу (.xlsx). При этом мне также нужно, чтобы новая рабочая книга была названа в честь ячеек B3 и B5 на одном листе.
Я нашел коды тут и там, либо для создания новой книги на листе, либо для переименования существующей книги. Я пытался «смешать» это, но я застрял с аргументом «Filename: = Name». Возвращает ошибку. Мой единственный способ назвать новую книгу - использовать "". Если кто-то знает причину и имеет какое-либо руководство для исправления, это будет оценено.
Sub Copy_Save_Sheet_As_Workbook()
Dim wb As Workbook
Dim Path As String
Dim Name As String
Set wb = Workbooks.Add
Path = "C:\Users\..." 'That line is not used now. Will try later to work on it.
Name = Worksheets("Sheet1").Range("B5")
ThisWorkbook.Activate
Worksheets("Sheet1").Copy Before:=wb.Sheets(1)
wb.Activate
wb.SaveAs FileName:=Name & ".xlsx", FileFormat:=xlNormal
End Sub
== РЕДАКТИРОВАТЬ ==
Вот модифицированный код после исправления от CATSandCATSandCATS.
Sub Copy_Save_Sheet_As_Workbook()
Dim wb As Workbook
Set wb = Workbooks.Add
ThisWorkbook.Activate
Worksheets("Sheet1").Copy Before:=wb.Sheets(1)
wb.Activate
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("B3") & Range("B5") & ".xlsx"
End Sub