Если вы немного используете Excel, вы знаете, что можете получить довольно большие книги от коллег. Часто бывает желательно разбить книгу на части, чтобы каждый лист находился в отдельной книге. Хотя это можно сделать вручную, этот процесс быстро становится утомительным, если вам нужно сделать много поломок.

Такая повторяющаяся работа естественна для макроса. Следующий макрос, называемый BreakItUp, создает отдельные файлы книги на основе листов в текущей книге. Таким образом, если текущая книга содержит 25 листов, запуск этого макроса приводит к созданию 25 отдельных файлов книги Excel. У каждой книги есть один лист, и имя книги такое же, как у рабочего листа.

Sub BreakItUp()

Dim sht As Worksheet     Dim NFName As String     Const WBPath = "C:\"



For Each sht In ActiveWorkbook.Worksheets         sht.Copy         NFName = WBPath & sht.Name & ".xls"

ActiveWorkbook.SaveAs FileName:=NFName, _             FileFormat:=xlNormal, CreateBackup:=False         ActiveWindow.Close     Next End Sub

Макрос BreakItUp сохраняет новые книги в корневом каталоге на диске C :. Если вы хотите, чтобы ваши книги сохранялись в другом месте, вы можете просто изменить строку, в которой создается константа WBPath.

Вы также должны знать, что сбой этого макроса относительно легко. Например, если вы используете символ в имени рабочего листа, который не является «допустимым» для имени файла, макрос грубо останавливается при попытке создать файл. Конечно, вы можете легко внести изменения в макрос, чтобы проверить и заменить такие недопустимые символы.

Другая потенциальная ошибка макроса заключается в том, что он перестанет работать, если уже существует файл с таким же именем, как у рабочего листа. Например, предположим, что у вас есть рабочий лист MySheet1. Если на диске уже есть файл с именем MySheet1.xls, макрос остановится при попытке перезаписать файл. Вы можете обойти это, убедившись, что нет конфликтов имен файлов в каталоге, в котором сохраняются книги.

Наконец, если в исходной книге есть формулы, которые ссылаются на другие листы (кроме того, на котором формула встречается), то эти формулы не будут работать в разделенных книгах. По этой причине вам нужно внимательно проверить, что создается, чтобы убедиться, что книги соответствуют вашим потребностям.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (12273) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Creating_Individual_Workbooks [Создание отдельных рабочих книг].