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

Вход

Регистрация

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

 

= Мир MS Excel/Сохранение листов отдельными файлами - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листов отдельными файлами (Макросы/Sub)
Сохранение листов отдельными файлами
chaa Дата: Среда, 05.06.2019, 23:48 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Всем привет. Помогите пожалуйста с задачей
Есть файл, в нем порядка 20 листов. Из этих 20 листов 15 нужно сохранить отдельным файлом с названием этих листов и разорвать в них связи, остальные 5 листов с определенными названиями не трогать.
Пытался найти решение. Нашел код, но он работает только если 15 листов стоят первыми по порядку. Если же лист, который сохранять отдельно не нужно будет первым, то выдает ошибку 1004. Как разорвать еще связи не смог добавить сюда...
Sub SplitSheet()
Application.ScreenUpdating = False
Dim s As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
For Each s In wb.Worksheets
If s.Name <> "СВОД" And s.Name <> "ПОКУПКА" Then s.Copy
ActiveWorkbook.SaveAs "C:\Users\chaa\Desktop\" & "\" & s.Name & ".xlsx"
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End Sub
К сообщению приложен файл: 1620949.xlsx(10.5 Kb)


Сообщение отредактировал chaa - Среда, 05.06.2019, 23:49
 
Ответить
СообщениеВсем привет. Помогите пожалуйста с задачей
Есть файл, в нем порядка 20 листов. Из этих 20 листов 15 нужно сохранить отдельным файлом с названием этих листов и разорвать в них связи, остальные 5 листов с определенными названиями не трогать.
Пытался найти решение. Нашел код, но он работает только если 15 листов стоят первыми по порядку. Если же лист, который сохранять отдельно не нужно будет первым, то выдает ошибку 1004. Как разорвать еще связи не смог добавить сюда...
Sub SplitSheet()
Application.ScreenUpdating = False
Dim s As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
For Each s In wb.Worksheets
If s.Name <> "СВОД" And s.Name <> "ПОКУПКА" Then s.Copy
ActiveWorkbook.SaveAs "C:\Users\chaa\Desktop\" & "\" & s.Name & ".xlsx"
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End Sub

Автор - chaa
Дата добавления - 05.06.2019 в 23:48
китин Дата: Четверг, 06.06.2019, 08:15 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5929
Репутация: 921 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
chaa, Оформите ваш пост в соответствии с п.3 Правил форума. пояснялка здесь


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщениеchaa, Оформите ваш пост в соответствии с п.3 Правил форума. пояснялка здесь

Автор - китин
Дата добавления - 06.06.2019 в 08:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранение листов отдельными файлами (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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