Данная функция формирует (создаёт) новую книгу Excel с одним листом (на основании шаблона - листа sh_template), после чего сохраняет новый файл по пути NewFilename$ Если путь не указан, сохранения нового файла не происходит. Function NewWorksheet(ByRef sh_template As Worksheet, Optional ByVal NewFilename$) As Worksheet Application.ScreenUpdating = False: On Error Resume Next: Err.Clear shtv = sh_template.Visible: sh_template.Visible = xlSheetVisible If Err Then MsgBox "Не удалось отобразить лист шаблона", vbCritical, "Ошибка в функции NewWorksheet ": End sh_template.Copy: DoEvents sh_template.Visible = shtv If Err Then MsgBox "Не удалось скопировать лист шаблона", vbCritical, "Ошибка в функции NewWorksheet ": End If ActiveWorkbook.Worksheets.Count > 1 Then MsgBox "2: Не удалось скопировать лист шаблона", vbCritical, "Ошибка в функции NewWorksheet ": End If ActiveWorkbook.Name = ThisWorkbook.Name Then MsgBox "3: Не удалось скопировать лист шаблона", vbCritical, "Ошибка в функции NewWorksheet ": End Set NewWorksheet = ActiveWorkbook.Worksheets(1) If NewWorksheet.Name <> sh_template.Name Then MsgBox "4: Не удалось скопировать лист шаблона", vbCritical, "Ошибка в функции NewWorksheet ": End Err.Clear: If Len(NewFilename$) Then ActiveWorkbook.SaveAs NewFilename$, xlWorkbookNormal If Err Then MsgBox "Не удалось сохранить новый файл по пути" & vbNewLine & _ """" & NewFilename$ & """", vbExclamation, "Ошибка в функции NewWorksheet " End Function Пример использования: Dim sh As Worksheet: Set sh = NewWorksheet(sht, НовыйПутьКФайлу$)
|
|||

Комментарии
как сделать тоже самое но с 2 листами
Вот пример использования этой функции:
(код самой функции расположите под этим макросом)
Dim sh As Worksheet
ПутьСоздаваемогоФайла$ = "c:\test.xls"
' активный лист будет служить шаблоном для нового файла
Set sh = NewWorksheet(ActiveSheet, ПутьСоздаваемогоФайла$)
sh.Name = "Имя нового листа" ' переименовываем лист в новой книге
sh.Parent.Close True ' закрываем новый файл с сохранением изменений
End Sub
Не могу запустить
Отправить комментарий