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

Как разделить большую таблицу на несколько маленьких таблиц в Excel?

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

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

Основная таблица Разделить таблицу на несколько таблиц по значению столбцаРазделить таблицу на несколько таблиц по количеству строк
Снимок экрана большой таблицы в Excel до разделенияСтрелкаСнимок экрана таблицы Excel, разделённой по значениям столбцаСнимок экрана таблицы Excel, разделённой по количеству строк

Разделение большой таблицы на несколько таблиц по значению столбца с помощью кода VBA

Разделение большой таблицы на несколько таблиц по заданному количеству строк с помощью кода VBA

Разделение большой таблицы на несколько таблиц по значению столбца или количеству строк с помощью Kutools для Excel


Разделение большой таблицы на несколько таблиц по значению столбца с помощью кода VBA

Чтобы разделить эту большую таблицу на несколько таблиц по значениям, укажите нужный столбец — следующий код VBA поможет вам в этом. Выполните следующие действия:

1. Удерживая клавиши «ALT» + «F11», откройте окно Microsoft Visual Basic для приложений.

2. Нажмите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: разделение большой таблицы на несколько таблиц по Ключевой столбец:

Sub Splitdatabycol()
'by Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) &, "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. После вставки кода нажмите клавишу «F5» для его выполнения — откроется диалоговое окно. Пожалуйста, выберите строку заголовков из ваших данных (см. снимок экрана):

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

4. Затем нажмите «ОК» — откроется новое диалоговое окно. Выберите столбец с данными, по которым нужно разделить таблицу (см. снимок экрана):

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

5. Нажмите «ОК». Большая таблица теперь разбита на несколько листов по значениям указанного столбца, причём новые листы расположены сразу после основного. Их названия соответствуют значениям из этого столбца (см. снимок экрана):

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


Разделение большой таблицы на несколько таблиц по заданному количеству строк с помощью кода VBA

Если вам нужно разделить таблицу на несколько таблиц по заданному количеству строк, следующий код VBA поможет вам в этом.

1. Удерживая клавиши «ALT» + «F11», откройте окно Microsoft Visual Basic для приложений.

2. Нажмите «Вставка» > «Модуль» и вставьте приведённый ниже код в окно модуля.

Код VBA: разделение большой таблицы на несколько таблиц по количеству строк:

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. Затем нажмите клавишу «F5». В появившемся диалоговом окне выберите строку заголовков (см. снимок экрана):

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

4. Затем нажмите «ОК» и во втором диалоговом окне укажите диапазон данных, по которому будет выполняться разделение по количеству строк (см. снимок экрана):

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

5. Затем снова нажмите кнопку «ОК». В третьем диалоговом окне укажите количество строк, по которому следует выполнить разделение (см. снимок экрана):

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

6. После этого нажмите кнопку «ОК». Основная таблица будет разделена на несколько листов в соответствии с заданным количеством строк, как показано на снимке экрана ниже:

Снимок экрана нескольких созданных листов после разделения по количеству строк


Разделение большой таблицы на несколько таблиц по значению столбца или количеству строк с помощью Kutools для Excel

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

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

1. Выделите диапазон данных, который хотите разделить, и нажмите «KUTOOLS PLUS» > «Разделить данные» (см. снимок экрана):

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

(1.) В разделе «Основа разделения» выберите «Укажите столбец» или «Фиксированное значение» в зависимости от ваших потребностей;

(2.) Укажите имя создаваемых листов в выпадающем списке «Правила» (Rules). При необходимости добавьте к именам листов префикс или суффикс.

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

3. Затем нажмите кнопку «ОК». Теперь большая таблица разбита на несколько небольших таблиц в новой рабочей книге (см. снимки экрана):

Разделить таблицу на несколько таблиц по значению столбцаРазделить таблицу на несколько таблиц по количеству строк
Снимок экрана таблицы Excel, разделённой на листы по значениям столбца с помощью KutoolsСнимок экрана таблицы Excel, разделённой на листы по количеству строк с помощью Kutools

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


Другие связанные статьи:

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

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек