Как разделить большую таблицу на несколько маленьких таблиц в Excel?
Если у вас есть большая таблица Excel с множеством столбцов и сотнями или тысячами строк, возможно, вы захотите разделить её на более мелкие и удобные таблицы. Например, вам может понадобиться разделить данные по значениям Укажите столбец или разбить их на части фиксированного размера по количеству строк. В этом руководстве приведены пошаговые методы для эффективного выполнения этой задачи.
| Основная таблица | Разделить таблицу на несколько таблиц по значению столбца | Разделить таблицу на несколько таблиц по количеству строк | |
![]() | ![]() | ![]() | ![]() |
Разделение большой таблицы на несколько таблиц по значению столбца с помощью кода VBA
Разделение большой таблицы на несколько таблиц по заданному количеству строк с помощью кода VBA
Разделение большой таблицы на несколько таблиц по значению столбца с помощью кода 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. Затем снова нажмите кнопку «ОК». В третьем диалоговом окне укажите количество строк, по которому следует выполнить разделение (см. снимок экрана):

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

Разделение большой таблицы на несколько таблиц по значению столбца или количеству строк с помощью Kutools для Excel
Приведённые выше коды могут показаться сложными для большинства пользователей. Поэтому мы предлагаем вам воспользоваться замечательной функцией «Разделить данные» из надстройки «Kutools для Excel» — с её помощью вы сможете быстро и легко разбить большую таблицу на несколько по ключевому столбцу или заданному количеству строк.
1. Выделите диапазон данных, который хотите разделить, и нажмите «KUTOOLS PLUS» > «Разделить данные» (см. снимок экрана):

2. В диалоговом окне «Разделить данные на несколько листов» настройте параметры в соответствии с вашими требованиями:
(1.) В разделе «Основа разделения» выберите «Укажите столбец» или «Фиксированное значение» в зависимости от ваших потребностей;
(2.) Укажите имя создаваемых листов в выпадающем списке «Правила» (Rules). При необходимости добавьте к именам листов префикс или суффикс.

3. Затем нажмите кнопку «ОК». Теперь большая таблица разбита на несколько небольших таблиц в новой рабочей книге (см. снимки экрана):
| Разделить таблицу на несколько таблиц по значению столбца | Разделить таблицу на несколько таблиц по количеству строк |
![]() | ![]() |
Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас
Другие связанные статьи:
- Разделение книги на отдельные Файлы Excel в Excel
- Возможно, вам потребуется разделить большую книгу на отдельные Файлы Excel, сохранив каждый лист книги как отдельный файл Excel. Например, вы можете разделить книгу на несколько отдельных Файлы Excel, а затем передать каждый файл разным лицам для обработки. Таким образом, вы сможете поручить определённым людям работу с конкретными данными и обеспечить их безопасность. В этой статье описаны способы разделения большой книги на отдельные Файлы Excel на основе каждого листа.
- Разделение Полное имя на первое и Фамилия в Excel
- Представьте, что у вас есть список имён, как на первом снимке экрана ниже, расположенный в одном столбце, и вам нужно разделить полное имя на три отдельных столбца: Имя, Отчество и Фамилия, как показано на следующем снимке экрана. Ниже — несколько эффективных способов, которые помогут вам легко справиться с этой задачей.
- Разделение длинного столбца на несколько столбцов в Excel
- Если у вас в Excel есть длинный столбец данных, просмотр которого затруднён, разбивка такого списка на несколько столбцов значительно облегчит его восприятие.
- Разделение слова или числа на отдельные ячейки в Excel
- Если у вас на листе есть список чисел или слов, и вам нужно разбить содержимое ячеек на отдельные символы по разным ячейкам, как показано на следующем снимке экрана, как это сделать в Excel?
- Разделение длинного списка на равные группы в Excel
- Если у вас есть длинный список данных, который нужно разделить на несколько равных групп, как показано на снимке экрана ниже, как быстро и легко выполнить эту задачу в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек





