KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как создать отдельный лист в Excel для каждой строки?

АвторSiluviaДата изменения

При работе с данными или составлении отчётов иногда требуется разделить каждую запись из таблицы на отдельный лист. Например, если вы ведёте список данных о студентах в Excel, где каждая строка содержит информацию об отдельном студенте, вы можете захотеть создать отдельный лист для каждого студента с его персональными данными. Альтернативно, вы можете просто разделить каждую строку — независимо от её содержимого — так, чтобы каждая находилась на отдельном Новый лист. Ручное создание и копирование данных на новые листы может быть трудоёмким и чреватым ошибками, особенно при работе с большим объёмом данных. Автоматизация этого процесса значительно экономит время и снижает риск ошибок. В данном руководстве описаны два практических решения для создания новых листов по каждой строке в Excel, а также приведены преимущества и недостатки каждого метода, чтобы помочь вам выбрать оптимальный подход для вашей задачи.

Создание новых листов для каждой строки с помощью кода VBA
Создание новых листов для каждой строки с помощью утилиты Разделить данные из Kutools для Excel


Создание новых листов для каждой строки с помощью кода VBA

Использование VBA (Visual Basic for Applications) — эффективный способ автоматизации рутинных и повторяющихся задач в Excel. С помощью VBA вы можете быстро создавать Новый лист для каждой строки ваших данных — either by grouping rows based on a column (such as a student name) или создавая отдельный лист для каждой строки независимо от её содержимого. Такой подход идеально подходит пользователям, знакомым с редактором VBA и предпочитающим максимально гибкое решение. Однако он требует редактирования и запуска кода, поэтому может не подойти тем, кто не имеет опыта работы с VBA или не имеет разрешения на запуск макросов в своей среде.

1. Нажмите «Alt» + «F11», чтобы открыть окно Microsoft Visual Basic for Applications, которое даёт доступ к коду VBA для автоматизации операций в Excel.

2. В окне Microsoft Visual Basic for Applications выберите Вставка > Модуль, чтобы добавить новый модуль кода. Затем скопируйте и вставьте приведённый ниже код в окно модуля.

Код VBA: создание нового листа для каждой строки на основе столбца

Sub parse_data()
'Update by Extendoffice 2018/3/2
    Dim xRCount As Long
    Dim xSht As Worksheet
    Dim xNSht As Worksheet
    Dim I As Long
    Dim xTRrow As Integer
    Dim xCol As New Collection
    Dim xTitle As String
    Dim xSUpdate As Boolean
    Set xSht = ActiveSheet
    On Error Resume Next
    xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
    xTitle = "A1:C1"
    xTRrow = xSht.Range(xTitle).Cells(1).Row
    For I = 2 To xRCount
        Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
    Next
    xSUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    For I = 1 To xCol.Count
        Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
        Set xNSht = Nothing
        Set xNSht = Worksheets(CStr(xCol.Item(I)))
        If xNSht Is Nothing Then
            Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
            xNSht.Name = CStr(xCol.Item(I))
        Else
            xNSht.Move , Sheets(Sheets.Count)
        End If
        xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
        xNSht.Columns.AutoFit
    Next
    xSht.AutoFilterMode = False
    xSht.Activate
    Application.ScreenUpdating = xSUpdate
End Sub

Пояснение параметров и советы по использованию:

  • A1:C1 — это диапазон заголовков вашей таблицы данных. При необходимости скорректируйте эту ссылку, чтобы она точно соответствовала области заголовков ваших данных.
  • Код извлекает уникальные значения из указанного столбца (по умолчанию — столбца A), и каждому уникальному значению соответствует отдельный лист со связанными строками.
  • Если ваша таблица шире или начинается с другой строки, обновите xTitle и ссылки на ячейки соответствующим образом.
  • Если ваш лист содержит формулы, ссылающиеся на другие листы, обязательно проверьте эти ссылки после разделения.

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

Снимок экрана, показывающий новую книгу с листами, созданными из каждой строки на основе значения столбца

Если вы хотите просто разместить каждую строку на отдельном листе, независимо от содержимого столбцов, воспользуйтесь приведённым ниже альтернативным кодом VBA — это избавит вас от необходимости задавать условие по столбцу.

Код VBA: прямое создание нового листа для каждой строки

Sub RowToSheet()
	Dim xRow As Long
	Dim I As Long
	With ActiveSheet
		xRow = .Range("A" & Rows.Count).End(xlUp).Row
		For I = 1 To xRow
			Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
			.Rows(I).Copy Sheets("Row " & I).Range("A1")
		Next I
	End With
End Sub

После выполнения этого кода в модуле каждая строка активного листа — включая строку заголовков — будет скопирована на новый лист. Обратите внимание: строка заголовков также дублируется. Если вы хотите избежать этого, возможно, придётся вручную удалить или скорректировать созданные листы.

Устранение неполадок и практические советы:
– Если появляется ошибка вроде «Индекс за пределами диапазона», убедитесь, что имена листов не содержат недопустимых символов, или удалите дублирующиеся имена.
– Большие наборы данных могут привести к созданию множества листов, что замедлит работу Excel или затруднит навигацию. Подумайте, действительно ли стоит разделять на листы очень большие таблицы.
– Всегда делайте резервную копию данных перед запуском кода VBA, чтобы избежать случайной потери информации.

Преимущества: Бесплатно; высокая степень настройки.
Недостатки: Требует включённых макросов VBA и определённого опыта работы с редактором VBA; возможны ошибки кода при работе со сложными или нестандартными данными.
Подходит для: Пользователей, которым нужна гибкость сценариев, а также для разовых или нерегулярных задач.


Создание новых листов для каждой строки с помощью утилиты Разделить данные из Kutools для Excel

Если вы предпочитаете простой и удобный подход без написания кода, настоятельно рекомендуем воспользоваться утилитой Разделить данные из Kutools для Excel. Эта функция позволяет всего за несколько кликов быстро разделить данные на новый лист, значительно упрощая управление таблицами. Kutools особенно полезен пользователям, которые регулярно работают с большими и сложными файлами или отдают предпочтение графическому интерфейсу вместо ручного программирования. Обратите внимание: Kutools — это надстройка для Excel, которую необходимо установить заранее.

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрировано с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

1. Выделите таблицу с данными, которые нужно разделить по отдельным листам. Затем перейдите на вкладку KUTOOLS PLUS и выберите Разделить данные. Для наглядности см. скриншот ниже:

Снимок экрана опции «Разделить данные» на вкладке Kutools Plus в Excel

2. В диалоговом окне Разделить данные на несколько листов выберите подходящие настройки в зависимости от ваших целей разделения.

A. Создание новых листов на основе значений из столбца:

1). Выберите опцию Укажите столбеци укажите столбец, который будет использоваться в качестве основы для разделения — обычно это уникальный идентификатор, например имя или ID студента.
2). Если вы хотите, чтобы каждый лист назывался по значению из этого столбца, выберите Значение в указанном столбцев выпадающем меню Правила.
3). Нажмите ОК, чтобы выполнить разделение. См. скриншот ниже:

Снимок экрана диалогового окна «Разделить данные на несколько листов» с настройками разделения по значению столбца

B. Создание отдельного листа для каждой строки напрямую:

1). Выберите опцию Фиксированное значениеи введите 1в поле, чтобы указать, что каждый лист должен содержать только одну строку данных.
2). В выпадающем списке Правилавыберите Установить количество строк, чтобы именовать каждый лист по индексу строки.
3). Нажмите ОК, чтобы начать процесс разделения. См. скриншот ниже:

Снимок экрана диалогового окна «Разделить данные на несколько листов» с настройками разделения по строкам

После выполнения будет создана новая рабочая книга, содержащая новый лист, заполненный в соответствии с выбранными настройками.

Создание новых листов для каждой строки на основе значений столбца:

Снимок экрана, показывающий новую книгу с листами, созданными из каждой строки на основе значения столбца

Создание нового листа для каждой строки без учёта значений столбцов:

Снимок экрана, показывающий новую книгу с листами, созданными из каждой строки без учета значения столбца

Меры предосторожности и практические советы:
– Перед использованием утилиты «Разделить данные» убедитесь, что в вашей таблице нет пустых строк — они могут привести к созданию пустых листов.
– Проверьте правила именования листов, чтобы избежать дублирования или недопустимых имён; при конфликте Kutools автоматически скорректирует имя.
– Если ваша таблица очень большая, процесс может создать множество листов — примите это во внимание перед началом.

Преимущества: Простота использования без необходимости программирования; идеально подходит для пакетной обработки и регулярных задач.
Недостатки: Требует предварительной установки надстройки Kutools.
Подходит для: Пользователей любого уровня, особенно тех, кто часто сталкивается с повторяющимися задачами по разделению данных.

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


Демонстрация: создание новых листов для каждой строки с помощью утилиты Разделить данные из Kutools для Excel

 
Kutools для Excel: Более 300 удобных инструментов всегда под рукой! Воспользуйтесь функциями на базе ИИ для более умной и быстрой работы!Скачать сейчас!

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции…
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул…
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий…
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором…
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов…
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек