Рада: Іншыя мовы Google-Перакладзеныя. Вы можаце наведаць English версія гэтай спасылкі.
Увайсці
x
or
x
x
рэгістрацыя
x

or

Як разбіць дадзеныя на некалькі працоўных лістоў на аснове слупка ў Excel?

Выказаўшы здагадку ў вас ёсць ліст з вялізнымі радамі дадзеных, і зараз вам трэба падзяліць дадзеныя ў некалькі лістоў на аснове імя калонка (гл наступны скрыншот), і імёны ўводзяцца ў адвольным парадку. Можа быць, вы можаце сартаваць іх, а затым скапіяваць і ўставіць іх адзін за іншым у іншыя новыя працоўныя аркушы. Але гэта будзе трэба цярпенне, каб скапіяваць і ўставіць паўторна. Сёння я буду казаць пра некаторыя хуткіх труках, каб вырашыць гэтую задачу.

док падзяліць дадзеныя па слупках 1

Спліт дадзеныя ў некалькі лістоў на аснове слупка з кодам VBA

Падзел дадзеных на некалькі працоўных лістоў на аснове слупка з Kutools для Excel


Падзел дадзеных на некалькі працоўных лістоў на аснове пэўнага слупка ці радкі падлічваць у лісце:

Калі вы хочаце, каб падзяліць вялікі ліст на некалькі лістоў на аснове канкрэтных дадзеных слупка або падлік радкоў, то Kutools для Excel's спліт дадзеных функцыя можа дапамагчы вам вырашыць гэтую задачу хутка і лёгка.

док падзяліць дадзеныя па слупках 6

Kutools для Excel: З больш чым 200 зручны Excel надбудовы, бясплатна паспрабаваць без якіх-небудзь абмежаванняў у 60 дзён. Спампаваць і бясплатную пробную версію зараз!


Спліт дадзеныя ў некалькі лістоў на аснове слупка з кодам VBA


Калі вы хочаце, каб падзяліць дадзеныя на аснове значэння слупка хутка і аўтаматычна, наступны код VBA з'яўляецца добрым выбарам. Калі ласка, як гэта:

1, утрымліваючы націснутай ALT + F11 ключы, каб адкрыць Microsoft Visual Basic для прыкладанняў акна.

2, націсніце Уставіць > МодуліІ ўстаўце наступны код у акне модуля.

Sub Splitdatabycol()
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 ключ для запуску кода, і падказка акно высунуўся, каб нагадаць вам выбраць радок загалоўка, см скрыншот:

док падзяліць дадзеныя па слупках 7

4, І затым, націсніце OK кнопка, а ў другім акне запыту, калі ласка, абярыце дадзеныя слупка, які вы хочаце падзяліць на аснове, см скрыншот:

док падзяліць дадзеныя па слупках 8

5, затым націсніце OK, І ўсе дадзеныя ў актыўным аркушы разбіваюцца на некалькі лістоў па значэнні слупка. І разламаныя лісты названыя з разрезного імёнамі вочак. Глядзіце скрыншот:

док падзяліць дадзеныя па слупках 2

Нататка: Разрезные лісты размешчаны ў канцы кнігі, дзе майстар ліст знаходзіцца.


Падзел дадзеных на некалькі працоўных лістоў на аснове слупка з Kutools для Excel

Як пачатковец Excel, гэты доўгі код VBA даволі цяжка для нас, і большасць з нас нават не ведае, як змяніць код, як нашы патрэбы.

Тут я прадстаўлю вам шматфункцыянальны tool--Kutools для Excel, яго спліт дадзеных ўтыліта можа не толькі дапамагчы вам падзяліць дадзеныя на некалькі працоўных лістоў на аснове слупка, але таксама можа падзяліць дадзеныя па радках злічыць.

Kutools для Excel : з больш чым 300 зручны Excel надбудовы, бясплатна паспрабаваць без якіх-небудзь абмежаванняў у 60 дзён.

Калі вы ўсталявалі Kutools для Excel, Калі ласка, зрабіце наступнае:

1, Выберыце дыяпазон дадзеных, якія вы хочаце падзяліць.

2, націсніце Kutools падрабязна > Працоўны ліст > спліт дадзеныхСм скрыншот:

док падзяліць дадзеныя па слупках 3

3, ў Падзел дадзеных на некалькі табліцу дыялогавае акно, вам неабходна:

1). выбраць канкрэтная калонка варыянт у Падзяліць на аснове раздзел, і абярыце значэнне слупка, які вы хочаце разбіць дадзеныя на аснове ў расчыняецца спісе. (Калі дадзеныя маюць загалоўкі, і вы хочаце, каб уставіць іх у кожнае новае паасобнае ліст, калі ласка, праверце Мае дадзеныя мае загалоўкі опцыя).

2). Пасля гэтага вы можаце пазначыць імёны расколу працоўнага ліста, пад Назва Новых працоўных лістоў раздзел, пазначыць імёны лістоў правілы з Правілы выпадальны спіс, вы можаце дадаць Прэфікс or суфікс для імёнаў лістоў, а таксама.

3). націсніце OK кнопка. Глядзіце скрыншот:

док падзяліць дадзеныя па слупках 4

4, Цяпер дадзеныя падзеленыя на некалькі лістоў у новай кнізе.

док падзяліць дадзеныя па слупках 5

Націсніце для загрузкі Kutools для Excel і бясплатную пробную версію зараз!


Падзел дадзеных на некалькі працоўных лістоў на аснове слупка з Kutools для Excel

Kutools для Excel ўключае ў сябе больш за 300 зручных інструментаў Excel. Бясплатна паспрабаваць без якіх-небудзь абмежаванняў у 60 дзён. Спампаваць бясплатную пробную версію зараз!


Артыкулы па тэме:

Як разбіць дадзеныя на некалькі лістоў па радках разлічваць?



Рэкамендаваны інструменты для павышэння прадукцыйнасці

ўкладка Упраўленне

золата star1 Прынясіце зручныя укладкі ў Excel і іншыя офісныя праграмы, гэтак жа, як Chrome, Firefox і новы Internet Explorer.

Kutools для Excel

золата star1 Дзіўна! Павышэнне прадукцыйнасці ў 5 хвілін. Не трэба ніякіх спецыяльных навыкаў, захаваць абодва гадзіны кожны дзень!

золата star1 300 Новыя магчымасці для Excel, зрабіць Excel Шмат Лёгкі і магутны:

  • Зліццё клетак / радкоў / слупкоў без страты дадзеных.
  • Аб'яднанне і аб'яднанне некалькіх лістоў і працоўных кніг.
  • Параўнанне дыяпазонаў, капіраванне некалькіх дыяпазонаў, пераўтварэнне тэксту ў дату, групу і валютнай канверсію.
  • Граф па Colors, пэйджынгавай подытогами, Advanced Сартаванне і супер фільтр,
  • Больш Select / Insert / Delete / Тэкст / Фармат / Спасылка / каментар / Workbooks / Рабочыя лісты Інструменты ...

Здымак экрана Kutools для Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Kate · 1 years ago
    This is amazeballs ! thanks - I have been asking how to do this with the whizz kids and its so complicated. Really pleased with it
  • To post as a guest, your comment is unpublished.
    suly · 1 years ago
    how to extract each letter of the date in sheet1 < sheet2 got some dates> and make it apear in sheet3 for example

    sheet1
    james 22.4.2017 23.4.2017 24.4.2017
    a r r

    tom 22.4.2017 23.4.2017 24.4.2017
    r r r


    sheet2

    james 22.4.2017

    james 23.4.2017

    tom 24.4.2017

    sheet3


    james 22.4.2017 a

    james 23.4.2017 r

    tom 24.4.2017 r





    and thank u
  • To post as a guest, your comment is unpublished.
    Chuck · 2 years ago
    This code will probably save me a few hours over the next few months! Thanks!!!

    Is there a way to then open all of those new tabs in separate windows? Or, is there a way to email a single tab to someone and not the entire thing?

    Thanks again!
  • To post as a guest, your comment is unpublished.
    Christopher · 2 years ago
    This code worked great! Very useful...

    On only had one error... One of the groupings that I split was titled "MAINTENANCE/OPERATIONS" - as we all know, Excel doesn't like to title sheet names with "/" in the title. The script you offered created a blank sheet (Sheet 24) is what it titled it, but it failed to copy the header and data from the original sheet. Not a big deal, I was able to copy and paste this single instance to the sheet and rename the sheet "MAINTENANCE-OPERATIONS" to comply with Excel's rules about naming sheets.

    Is there a way to revise the code so that when I run the module, it will automatically change bad characters in a sheet name to a default character like "_". I plan on using this code a lot and I am certain that the data sheets I will be running will have this issue.

    Thank you so much for any help!
  • To post as a guest, your comment is unpublished.
    RiggaToni · 2 years ago
    Thank you! Saved me a ton of time!