Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранение активного листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение активного листа (Макросы Sub)
Сохранение активного листа
Digital Дата: Воскресенье, 15.12.2013, 18:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день уважаемые форумчане,
Имеется ексел файл с макросом сохранения активного листа. Макрос сохраняет только активный лист без остальных вкладок (что и мне нужно было, спасибо автору), но в сохраненном листе все еще остается кнопка "сохранить лист". Помогите подправить код макроса так чтобы уже в сохраненном листе отсутствовала кнопка "сохранить лист".

[vba]
Код
Sub Сохранение()
On Error Resume Next
' название подпапки, в которую по-умолчанию будет предложено сохранить файл
Const REPORTS_FOLDER = "C:Users\Aman\Desktop\Games"
' ?создаём папку для файла, если её ещё нет
MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' выбираем стартовую папку
ChDrive Left(ThisWorkbook.Path, 1): ChDir "C:\Users\Aman\Desktop\Games"

' вывод диалогового окна для запроса имени сохраняемого файла
Filename = Application.GetSaveAsFilename("PO-13-001.xlsx", "Excel (*.xlsx),", , _
"Введите имя файла для сохраняемого отчёта", "Сохранить")
' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
If VarType(Filename) = vbBoolean Then Exit Sub

' копируем активный лист (при этом создаётся новая книга)
Err.Clear: ActiveSheet.Copy: DoEvents
If Err Then Exit Sub ' произошла какая-то ошибка при попытке копирования листа

' убеждаемся, что активной книгой является копия листа
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
' сохраняем файл под заданным именем в формате Excel 2003
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook

' закрываем сохранённый файл
' (удалите следующую строку, если закрывать созданный файл не требуется)
ActiveWorkbook.Close False
End If
End Sub
[/vba]
К сообщению приложен файл: 3082026.rar (21.9 Kb)


Сообщение отредактировал Digital - Воскресенье, 15.12.2013, 20:54
 
Ответить
СообщениеДобрый день уважаемые форумчане,
Имеется ексел файл с макросом сохранения активного листа. Макрос сохраняет только активный лист без остальных вкладок (что и мне нужно было, спасибо автору), но в сохраненном листе все еще остается кнопка "сохранить лист". Помогите подправить код макроса так чтобы уже в сохраненном листе отсутствовала кнопка "сохранить лист".

[vba]
Код
Sub Сохранение()
On Error Resume Next
' название подпапки, в которую по-умолчанию будет предложено сохранить файл
Const REPORTS_FOLDER = "C:Users\Aman\Desktop\Games"
' ?создаём папку для файла, если её ещё нет
MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' выбираем стартовую папку
ChDrive Left(ThisWorkbook.Path, 1): ChDir "C:\Users\Aman\Desktop\Games"

' вывод диалогового окна для запроса имени сохраняемого файла
Filename = Application.GetSaveAsFilename("PO-13-001.xlsx", "Excel (*.xlsx),", , _
"Введите имя файла для сохраняемого отчёта", "Сохранить")
' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
If VarType(Filename) = vbBoolean Then Exit Sub

' копируем активный лист (при этом создаётся новая книга)
Err.Clear: ActiveSheet.Copy: DoEvents
If Err Then Exit Sub ' произошла какая-то ошибка при попытке копирования листа

' убеждаемся, что активной книгой является копия листа
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
' сохраняем файл под заданным именем в формате Excel 2003
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook

' закрываем сохранённый файл
' (удалите следующую строку, если закрывать созданный файл не требуется)
ActiveWorkbook.Close False
End If
End Sub
[/vba]

Автор - Digital
Дата добавления - 15.12.2013 в 18:28
KuklP Дата: Воскресенье, 15.12.2013, 18:59 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Сами-то видите, чего понаписали? Вставляйте текст при включенной русской раскладке и оформляйте код тегами.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеСами-то видите, чего понаписали? Вставляйте текст при включенной русской раскладке и оформляйте код тегами.

Автор - KuklP
Дата добавления - 15.12.2013 в 18:59
Digital Дата: Воскресенье, 15.12.2013, 19:10 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Извиняюсь за символы,
Выставил повторно:

[vba]
Код
Sub Сохранение()
On Error Resume Next
' название подпапки, в которую по-умолчанию будет предложено сохранить файл
Const REPORTS_FOLDER = "C:Users\Aman\Desktop\Games"
' ?создаём папку для файла, если её ещё нет
MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' выбираем стартовую папку
ChDrive Left(ThisWorkbook.Path, 1): ChDir "C:\Users\Aman\Desktop\Games"

' вывод диалогового окна для запроса имени сохраняемого файла
Filename = Application.GetSaveAsFilename("PO-13-001.xlsx", "Excel (*.xlsx),", , _
"Введите имя файла для сохраняемого отчёта", "Сохранить")
' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
If VarType(Filename) = vbBoolean Then Exit Sub

' копируем активный лист (при этом создаётся новая книга)
Err.Clear: ActiveSheet.Copy: DoEvents
If Err Then Exit Sub ' произошла какая-то ошибка при попытке копирования листа

' убеждаемся, что активной книгой является копия листа
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
' сохраняем файл под заданным именем в формате Excel 2003
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook

' закрываем сохранённый файл
' (удалите следующую строку, если закрывать созданный файл не требуется)
ActiveWorkbook.Close False
End If
End Sub
[/vba]
 
Ответить
СообщениеИзвиняюсь за символы,
Выставил повторно:

[vba]
Код
Sub Сохранение()
On Error Resume Next
' название подпапки, в которую по-умолчанию будет предложено сохранить файл
Const REPORTS_FOLDER = "C:Users\Aman\Desktop\Games"
' ?создаём папку для файла, если её ещё нет
MkDir ThisWorkbook.Path & "\" & REPORTS_FOLDER
' выбираем стартовую папку
ChDrive Left(ThisWorkbook.Path, 1): ChDir "C:\Users\Aman\Desktop\Games"

' вывод диалогового окна для запроса имени сохраняемого файла
Filename = Application.GetSaveAsFilename("PO-13-001.xlsx", "Excel (*.xlsx),", , _
"Введите имя файла для сохраняемого отчёта", "Сохранить")
' если пользователь отказался от выбора имени файла - отменяем сохранение листа в файл
If VarType(Filename) = vbBoolean Then Exit Sub

' копируем активный лист (при этом создаётся новая книга)
Err.Clear: ActiveSheet.Copy: DoEvents
If Err Then Exit Sub ' произошла какая-то ошибка при попытке копирования листа

' убеждаемся, что активной книгой является копия листа
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then
' сохраняем файл под заданным именем в формате Excel 2003
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook

' закрываем сохранённый файл
' (удалите следующую строку, если закрывать созданный файл не требуется)
ActiveWorkbook.Close False
End If
End Sub
[/vba]

Автор - Digital
Дата добавления - 15.12.2013 в 19:10
KuklP Дата: Воскресенье, 15.12.2013, 19:17 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Digital, сообщения можно редактировать. Чтоб оформить код тегами нажмите значок # на панели редактирования. По теме:
[vba]
Код
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then  
ActiveWorkbook.ActiveSheet.drawingobjects.delete
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook
[/vba]И исправьте свои сообщения, видите, как выглядит мой код?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеDigital, сообщения можно редактировать. Чтоб оформить код тегами нажмите значок # на панели редактирования. По теме:
[vba]
Код
If ActiveWorkbook.Worksheets.Count = 1 And ActiveWorkbook.Path = "" Then  
ActiveWorkbook.ActiveSheet.drawingobjects.delete
ActiveWorkbook.SaveAs Filename, xlOpenXMLWorkbook
[/vba]И исправьте свои сообщения, видите, как выглядит мой код?

Автор - KuklP
Дата добавления - 15.12.2013 в 19:17
Digital Дата: Воскресенье, 15.12.2013, 20:44 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
KuklP добрый вечер,
Спасибо за подсказку как оформлять тегами. Честно не знал до этого.
А за правку макроса большое вам спасибо.
 
Ответить
СообщениеKuklP добрый вечер,
Спасибо за подсказку как оформлять тегами. Честно не знал до этого.
А за правку макроса большое вам спасибо.

Автор - Digital
Дата добавления - 15.12.2013 в 20:44
Digital Дата: Воскресенье, 15.12.2013, 20:47 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
KuklP,
Если вас не затруднит, скажите возможно ли чтобы имя вкладки в сохраненном листе было идентично с присвоенным именем сохраненного листа?
 
Ответить
СообщениеKuklP,
Если вас не затруднит, скажите возможно ли чтобы имя вкладки в сохраненном листе было идентично с присвоенным именем сохраненного листа?

Автор - Digital
Дата добавления - 15.12.2013 в 20:47
KuklP Дата: Воскресенье, 15.12.2013, 20:52 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Спасибо за подсказку как оформлять тегами
Так отредактируйте наконец свои сообщения! Пока администрация Вам фитиль не вставила.
имя вкладки в сохраненном листе
А что это такое? Я не понимаю.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Спасибо за подсказку как оформлять тегами
Так отредактируйте наконец свои сообщения! Пока администрация Вам фитиль не вставила.
имя вкладки в сохраненном листе
А что это такое? Я не понимаю.

Автор - KuklP
Дата добавления - 15.12.2013 в 20:52
Digital Дата: Воскресенье, 15.12.2013, 20:57 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
В любом случае вы мне помогли KuklP hands
Тема закрыта.
 
Ответить
СообщениеВ любом случае вы мне помогли KuklP hands
Тема закрыта.

Автор - Digital
Дата добавления - 15.12.2013 в 20:57
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение активного листа (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!