Добрый вечер.
Прошу помощи, т.к. мой мозг уже не способен адекватно решить проблему. Есть множество схожих тем, однако не смог найти ту что могла бы помочь.
Суть макроса в том, что бы при нажатии на кнопку, скрытый лист (в котором формируется информация) сохранялся бы в отдельную книгу.
При этом , открыть лист для того что бы макрос сработал, получается успешно, а вот закрыть его обратно уже нет. В задумке, таких листов должно быть много, по этому не хотелось бы что бы они выскакивали на панели в первоначальном файле.
Возможно я куда-то ни туда вставляю строку Sheets("Форма заказа для клиента").Visible = 2 ?
Файл прилагается
Прошу помощи, т.к. мой мозг уже не способен адекватно решить проблему. Есть множество схожих тем, однако не смог найти ту что могла бы помочь.
Суть макроса в том, что бы при нажатии на кнопку, скрытый лист (в котором формируется информация) сохранялся бы в отдельную книгу.
При этом , открыть лист для того что бы макрос сработал, получается успешно, а вот закрыть его обратно уже нет. В задумке, таких листов должно быть много, по этому не хотелось бы что бы они выскакивали на панели в первоначальном файле.
Возможно я куда-то ни туда вставляю строку Sheets("Форма заказа для клиента").Visible = 2 ?
Файл прилагается
Код |
---|
Sub Печать_Кнопка1_Щелчок() On Error Resume Next Sheets("Форма заказа для клиента").Visible = 1 Const REPORTS_FOLDER = "Заказы\Для клиентов" MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER ChDrive Left(ThisWorkbook.Path, 1): ChDir ThisWorkbook.Path & "\" & REPORTS_FOLDER Filename = Application.GetSaveAsFilename("Расчет для клиента Заказ № .xls", "Книга Excel(*.xls),", , _ "Введите имя файла для сохраняемого отчёта", "Сохранить") If VarType(Filename) = vbBoolean Then Exit Sub Err.Clear: Worksheets("Форма заказа для клиента").Copy: DoEvents If Err Then Exit Sub If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook Application.DisplayAlerts = False Sheets("Форма заказа для клиента").Visible = 2 End If End Sub |