Страницы: 1
RSS
Сохранение листа в отдельный файл с именем из ячейки, Как сохранить лист из книги в отдельный файл с именем из ячейки?
 
Добрый день, добрые люди!

В книге есть несколько листов, данный код сохраняет всю книгу и берет имя из ячейки.

Как сделать так, чтобы сохранялся только активный , а не вся книга?
Код
Sub Сохранение()
Dim CellValue As String
   Dim Path As String
   Dim FinalFileName As String
   Application.DisplayAlerts = False
   Path = ThisWorkbook.Path & "D:\"
   FinalFileName = Path & CellValue
   ActiveWorkbook.SaveAs Filename:=Cells(23, 1) & ".xlsm", _
        FileFormat:=xlOpenXMLWorkbookMacroEnabled
End Sub
Изменено: alexexcel1990 - 03.12.2020 08:40:00
 
Приемы
 
я в этом новичок. Не могу связать коды от туда со своим.
 
alexexcel1990, Вам надо сохранить Активный лист, или лист с определённым названием?
 
Мне нужно сохранить только активный лист, как отдельный файл . При этом, чтобы название для файла взялось из определенной ячейки.  
 
Вариант
Код
Sub savesheet()
Dim wb As Workbook, sName As String, sPath As String
Application.DisplayAlerts = False
sPath = ThisWorkbook.Path & "\" 'Путь по которому сохраняем файл, в данном случае папка где находится книга с макросом
sName = Cells(1, 1).Value 'Имя файла, в данном случае берется из ячейки А1
Set wb = ThisWorkbook
wb.ActiveSheet.Copy
Set wbCopySheet = ActiveWorkbook
wbCopySheet.SaveAs Filename:=sPath & sName & ".xlsx", FileFormat:=51
wbCopySheet.Close
Application.DisplayAlerts = True
End Sub
Изменено: Александр П. - 03.12.2020 09:06:14
 
Создается новый файл без нужного названия, просто с названием "Книга"
Так же выдаёт ошибку "1004" и в Debug выделяет данную строку
Код
wbCopySheet.SaveAs Filename:=sPath & sName & ".xlsx", FileFormat:=51
 
alexexcel1990, видимо путь не верно указали) или имя файла содержит запрещенные символы)
Изменено: Mershik - 03.12.2020 09:51:33
Не бойтесь совершенства. Вам его не достичь.
 
alexexcel1990, Если перенесли код в свой файл без изменений и в ячейке указано корректное для имения файла значение то должно работать.
Показывайте файл пример с ошибкой.
 
Возможно. Но теперь уже ошибка Microsoft Visual Basic for Applications "400"
Название файла так же не изменилось
Изменено: alexexcel1990 - 03.12.2020 09:52:33
 
alexexcel1990, возможно это связано с этим пунктом правил...
Цитата
   2.2. Опишите максимально подробно вашу задачу и желаемый результат. Желательно уточнить вашу версию Excel.
или
https://www.planetaexcel.ru/forum/?FID=1&PAGE_NAME=read&TID=48247
https://programmersforum.ru/showthread.php?t=160652
Изменено: Mershik - 03.12.2020 09:59:34
Не бойтесь совершенства. Вам его не достичь.
 
А с чего оно должно измениться? Оно изменяется при сохранении файла.
 
alexexcel1990, ещё раз, приложите файл пример с ошибкой.
Mershik, судя по первому сообщению у ТСа версия 2007 или выше, должно работать без проблем.
Изменено: Александр П. - 03.12.2020 10:02:33
 
Доброго времени суток.

Вчера не смог ответить.

Вот пример, привязал макрос на кнопку
Изменено: alexexcel1990 - 04.12.2020 04:58:40
 
Цитата
alexexcel1990 написал:
привязал макрос на кнопку
И где же тут кнопка ?) Кстати в файлах с расширениями xlsx макросы не живут, так что и макроса в файле нет.
Изменено: Александр П. - 04.12.2020 05:02:35
 
Извиняюсь, не то загрузил.

Вот пример  
 
alexexcel1990,
Код
sPath = ThisWorkbook.Path & "D:\"
Вот эту строку вы изменили неверно. естественно у вас ошибка, ибо нет такого пути
Если вам надо сохранять файл по пути "D:\"
то она должна выглядеть так
Код
sPath = "D:\"
Изменено: Александр П. - 04.12.2020 05:12:21
 
Теперь всё работает. БОЛЬШОЕ ВСЕМ СПАСИБО! ВАМ ОТДЕЛЬНОЕ !!
Страницы: 1
Наверх