Страницы: 1
RSS
Копирование листа в отдельную книгу
 
Приветствую всех!

Помогите пожалуйста, был написан макрос, но к сожалению теперь утерян :
Сохраниение активного листа в новую книгу, в папку где находится исходный файл,   имя файла = название листа

Сейчас есть только начало:
Код
Sub SohrList22()
Dim CurrentWin As Window
Dim VremWin As Window
Set CurrentWin = ActiveWindow
Set VremWin = ActiveWorkbook.NewWindow
CurrentWin.ActiveSheet.Copy
VremWin.Close
Path = ThisWorkbook.Path & "\"
ThisWorkbook.SaveAs (Path & ActiveSheet.Name)
End Sub
макрос создает файл с листом, но не берет название и не сохраняет
Изменено: vikttur - 21.09.2021 00:03:13
 
Валерий, если читали правила, то должны были запомнить, что один вопрос - одна тема. А у Вас два вопроса в одной теме. Оставьте один.
И код следует оформлять соответствующим тегом: ищите такую кнопку <...> и исправьте своё сообщение.
 
Юрий М, извиняюсь, поправил,  тему к сожалению не изменить
 
слегка скорректировал Ваш код

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan, благодарю за помощь.    
Где то ошибка,  код присваивает исходному файлу с книгой, имя активного листа,  а активный лист, который создан в новой книге становится с именем Книга1

P.S.
Посмотрите пожалуйста, всё ли верно или есть что доработать или убрать:
(я в этом не профи, не пойму зачем нужны команды Application.DisplayAlerts)
Код
Private Sub CopySheet()
    Application.DisplayAlerts = False
    ActiveSheet.Copy
    With ActiveWorkbook
         .SaveAs .ActiveSheet.Name & ".xlsx", xlOpenXMLWorkbook
         .Close False
    End With
    Application.DisplayAlerts = True
End Sub
Изменено: Валерий - 21.09.2021 01:48:23
 
Цитата
Валерий написал: активный лист, который создан в новой книге становится с именем Книга1
Не наблюдаю такой результат.
Цитата
Валерий написал: зачем нужны команды Application.DisplayAlerts
Если сохраняемый файл с именем:
Код
.ActiveSheet.Name & ".xlsx"
ранее был создан, то он будет перезаписан без предупреждения, если до команды:
Код
.SaveAs .ActiveSheet.Name & ".xlsx", xlOpenXMLWorkbook
были отключены предупреждения:
Код
Application.DisplayAlerts = False

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,
Благодарю!   Подскажите пожалуйста, как прописать чтобы файл с листом сохранялся в ту же папку что и исходная книга?
 
Так.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,  
Спс.   поправил таким образом
Код
Sub SaveSheet()
     Application.DisplayAlerts = False
    Set wb = ActiveWorkbook
    ActiveSheet.Copy
    With ActiveWorkbook
     
    .SaveAs wb.Path & "\" & .ActiveSheet.Name & ".xlsx", xlOpenXMLWorkbook
    .Close False
        End With
    Application.DisplayAlerts = True
End Sub
Изменено: Валерий - 21.09.2021 10:46:21
Страницы: 1
Наверх