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

Вход

Регистрация

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

 

= Мир MS Excel/Разбиение одного файла на несколько по данным листов - Мир MS Excel

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

Excel 2007
Всем привет! Наверняка многие из нас работают с несколькими подразделениями в одном файле. В определенный момент времени бывает необходимо разбить этот файл на несколько. Число файлов равно числу вкладок. В каждом файле остается только одна вкладка с данными своего подразделения. Название файла = значению ячейки A1 своего листа. Поможете?
 
Ответить
СообщениеВсем привет! Наверняка многие из нас работают с несколькими подразделениями в одном файле. В определенный момент времени бывает необходимо разбить этот файл на несколько. Число файлов равно числу вкладок. В каждом файле остается только одна вкладка с данными своего подразделения. Название файла = значению ячейки A1 своего листа. Поможете?

Автор - Мурад
Дата добавления - 23.12.2015 в 12:27
SLAVICK Дата: Среда, 23.12.2015, 13:17 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Зачем придумывать велосипед - все уже давно придумано.
Почитайте здесь:
Код оттуда:
[vba]
Код
Sub SplitSheets2()
    Dim s As Worksheet
    Dim wb as Workbook
    Set wb = ActiveWorkbook
    For Each s In wb.Worksheets                    'проходим во всем листам активной книги
        s.Copy                    'сохраняем лист как новый файл
        ActiveWorkbook.SaveAs wb.Path & "\" & [a1]  & ".xls"  'сохраняем файл
    Next
End Sub
[/vba]


Иногда все проще чем кажется с первого взгляда.
 
Ответить
СообщениеЗачем придумывать велосипед - все уже давно придумано.
Почитайте здесь:
Код оттуда:
[vba]
Код
Sub SplitSheets2()
    Dim s As Worksheet
    Dim wb as Workbook
    Set wb = ActiveWorkbook
    For Each s In wb.Worksheets                    'проходим во всем листам активной книги
        s.Copy                    'сохраняем лист как новый файл
        ActiveWorkbook.SaveAs wb.Path & "\" & [a1]  & ".xls"  'сохраняем файл
    Next
End Sub
[/vba]

Автор - SLAVICK
Дата добавления - 23.12.2015 в 13:17
Мурад Дата: Среда, 23.12.2015, 13:40 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
SLAVICK, спасибо огромное! Макрос все делает правильно!
Пытался встроить в цикл команду закрытия созданного файла wb.Close - но выходит ошибка :(

Точнее не ошибка, а цикл перестает создавать 2й и последующий файлы после 1го захода


Сообщение отредактировал Мурад - Среда, 23.12.2015, 13:42
 
Ответить
СообщениеSLAVICK, спасибо огромное! Макрос все делает правильно!
Пытался встроить в цикл команду закрытия созданного файла wb.Close - но выходит ошибка :(

Точнее не ошибка, а цикл перестает создавать 2й и последующий файлы после 1го захода

Автор - Мурад
Дата добавления - 23.12.2015 в 13:40
Manyasha Дата: Среда, 23.12.2015, 13:44 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
wb.Close

так попробуйте
[vba]
Код
ActiveWorkbook.Close
[/vba]


ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
wb.Close

так попробуйте
[vba]
Код
ActiveWorkbook.Close
[/vba]

Автор - Manyasha
Дата добавления - 23.12.2015 в 13:44
Мурад Дата: Среда, 23.12.2015, 13:46 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 513
Репутация: 18 ±
Замечаний: 0% ±

Excel 2007
Manyasha, thumb
 
Ответить
СообщениеManyasha, thumb

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

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