Slapukai padeda mums pristatyti mūsų paslaugomis. Naudodamiesi mūsų paslaugomis, jūs sutinkate su mūsų slapukų naudojimą.
Patarimas: kitos kalbos yra "Google" išverstos. Galite aplankyti English šios nuorodos versija.
Prisijungti
x
or
x
x
Registruotis
x

or

Kaip suskaidyti duomenis į kelis darbalapius pagal "Excel" stulpelį?

Teigiant, kad turite darbalapį su didžiulėmis duomenų eilėmis, o dabar jūs turite padalinti duomenis į kelis darbalapius pagal Vardas stulpelis (žr. toliau pateiktą ekrano kopiją), o vardai įvedami atsitiktine tvarka. Gal galite juos rūšiuoti pirmiausia, tada nukopijuokite ir įklijuokite jas į kitus naujus darbalapius. Tačiau jums reikės kantrybės pakartotinai nukopijuoti ir įklijuoti. Šiandien aš kalbėsiu apie keletą greitų gudrybių, kad išspręstų šią užduotį.

doc padalijami duomenys stulpeliuose 1

Suskirstyti duomenis į kelis darbalapius pagal stulpelį su VBA kodu

Suskirstyti duomenis į kelis darbalapius pagal stulpelį su "Kutools" Excel


Suskirstyti duomenis į keletą darbo lapų, pagrįstų konkrečiu stulpeliu ar eilučių skaičiumi darbalapyje:

Jei norite suskaidyti didelę darbo lapą į kelis lapus, remiantis konkrečiais stulpelių duomenimis arba eilučių skaičiumi, Kutools for Excel's Split Data funkcija gali padėti greitai ir lengvai išspręsti šią užduotį.

doc padalijami duomenys stulpeliuose 6

Kutools for Excel: su daugiau nei 200 patogiais "Excel" priedais, galite nemokamai bandyti be apribojimų per 60 dienas. Atsisiųskite ir nemokamai bandykite dabar!


Suskirstyti duomenis į kelis darbalapius pagal stulpelį su VBA kodu


Jei norite greitai ir automatiškai suskaidyti duomenis pagal stulpelio reikšmę, šis VBA kodas yra geras pasirinkimas. Prašau, taip:

1. Laikykite nuspaudę ALT + F11 raktus atidaryti "Microsoft Visual Basic for Applications" langas.

2, Spauskite įsiuvas > Moduliaiir į modulio langą įklijuokite šį kodą.

Sub parse_data()
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
vcol = 1        
Set ws = Sheets("Master sheet")        
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = "A1:C1"            
titlerow = ws.Range(title).Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
For i = 2 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
ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
Sheets(myarr(i) & "").Columns.AutoFit
Next
ws.AutoFilterMode = False
ws.Activate
End Sub

pastabos: Pirmiau nurodytu kodu:

  • vcol = 1 , skaičius 1 yra stulpelio numeris, kurį norite suskaidyti duomenis pagal.
  • Nustatykite ws = lakštus (pagrindinį lapą), Pagrindinis lapas yra to asmens pavadinimas, kurį norite taikyti šį kodą.
  • title = "A1: C1" , A1: C1 yra pavadinimo diapazonas.

Visi jie yra kintamieji, juos galite pakeisti kaip savo poreikius.

3. Tada paspauskite F5 raktas paleisti kodą, visi aktyviojo darbo lapo duomenys yra skirstomi į kelis darbalapius pagal stulpelio reikšmę. Ir suskaidytas darbalapius pavadinimai vadinami dalijimo elementais. Žr. Ekrano kopiją:

doc padalijami duomenys stulpeliuose 2

pastabos: Padalyti darbo lapai dedami knygos pabaigoje, kurioje yra pagrindinis darbalapis.


Suskirstyti duomenis į kelis darbalapius pagal stulpelį su "Kutools" Excel

Kaip "Excel" pradedantysis, šis ilgas VBA kodas yra mums sudėtingas, ir dauguma iš mūsų net nežino, kaip pakeisti kodą kaip mūsų poreikį.

Čia pristatysiu jums daugiafunkcinį įrankį -Kutools for Excel, Jo Split Data naudingumas ne tik gali padalinti duomenis į kelis darbalapius pagal stulpelį, bet taip pat gali padalinti duomenis eilučių skaičiumi.

Kutools for Excel : su daugiau nei 300 patogiais "Excel" priedais, galite nemokamai išbandyti be apribojimų per 60 dienas.

Jei įdiegėte Kutools for Excel, atlikite taip:

1. Pasirinkite duomenų, kuriuos norite suskaidyti, diapazoną.

2, Spauskite Kutools Daugiau > Užduotis > Split Data, žr. ekrano kopiją:

doc padalijami duomenys stulpeliuose 3

3. Be Suskirstyti duomenis į keletą darbo lapų Dialogo lange, jums reikia:

1). Pasirinkite Specifinis stulpelis parinktis Splitas pagrįstas skyriuje ir pasirinkite stulpelio reikšmę, kurią norite išskirstyti pagal duomenis pagal išskleidžiamąjį sąrašą. (Jei jūsų duomenys turi antraštes ir norite juos įtraukti į kiekvieną naują atskyrimo lapą, patikrinkite Mano duomenys turi antraštes pasirinkimas.)

2). Tada galite nurodyti padalijimo darbalapio pavadinimus, po Naujas darbalapio pavadinimas skirsnyje nurodykite darbo lapų vardų taisykles iš Taisyklės išskleidžiamajame sąraše galite pridėti Prefiksas or Priesaga taip pat už lapų pavadinimus.

3). Spustelėkite OK mygtukas. Žr. Ekrano kopiją:

doc padalijami duomenys stulpeliuose 4

4. Dabar naujame darbe duomenys yra padalijami į kelias darbo lapas.

doc padalijami duomenys stulpeliuose 5

Spustelėkite atsisiųsti "Kutools for Excel" ir nemokamą bandomąją versiją dabar!


Suskirstyti duomenis į kelis darbalapius pagal stulpelį su "Kutools" Excel

Kutools for Excel apima daugiau nei 300 patogių "Excel" įrankių. Nemokamai išbandyti be apribojimų 60 dienų. Atsisiųskite nemokamą bandomąją versiją dabar!


Susijęs straipsnis:

Kaip suskaidyti duomenis į kelis darbo lapus pagal eilučių skaičių?



Rekomenduojami įrankiai našumui

Office Tab

aukso žvaigždutė1 Pateikite patogius skirtukus "Excel" ir kitai "Office" programinei įrangai, kaip ir "Chrome", "Firefox" ir "Internet Explorer".

Kutools for Excel

aukso žvaigždutė1 Nuostabi! Padidinkite savo našumą per 5 min. Nereikia jokių specialių įgūdžių, išskyrus dvi valandas kiekvieną dieną!

aukso žvaigždutė1 "300" naujos funkcijos "Excel", "Excel" daug lengvumo ir galingumo:

  • Sujungti elementus / eilutes / stulpelius neprarandant duomenų.
  • Suderinkite ir susinenkite kelis lapus ir darbaknygius.
  • Palyginkite diapazonus, nukopijuokite keletą diapazonų, konvertuokite tekstą į datą, vienetą ir valiutos konvertavimą.
  • Skaičiuojamas pagal spalvas, tarpinių pranešimų vidurkis, išplėstinis rūšiavimas ir super filtras,
  • Daugiau Pasirinkite / Įterpti / Ištrinti / Tekstas / Formatas / Nuoroda / Komentaras / Darbaknygiai / Užduotys Įrankiai ...

Kutools ekrano kopija 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.
    Lubo · 2 years ago
    Hello,
    The VBA works great,
    Do you give me more information how to chance to separated data in different sheet started from number row 36 and fill only 3- 5 columns
    Thank you in advance
  • To post as a guest, your comment is unpublished.
    Mark · 2 years ago
    Using this script has increased the size of my file! It has inserted white space - how do I get rid of that?
  • To post as a guest, your comment is unpublished.
    Rohit · 2 years ago
    Awesome !
    Thank you so much for publishing this code. It is immensely helpful for learners like me who study other's code to get better at VBA
  • To post as a guest, your comment is unpublished.
    Mark · 2 years ago
    I have successfully split my source sheet into multiple sheets, but I have found a problem.
    This introduces alot of white space into the sheets. Have a look at the horizontal scroll bar before and after running the VBS.
    I only had columns to Y, now the sheets (the source and new sheets) go to XFD! How do I delete the white space!?
    Thanks otherwise for the code.
  • To post as a guest, your comment is unpublished.
    Mark · 2 years ago
    I have found a problem, whilst I do have everything split into separate sheets now it seems to have included alot of white space to the right in each new workbook - not only that the source sheet is now bloated with white space also - have a look at the size of the horizontal scroll bar on the source sheet before and after running this VBS.
    This has increased the size of my xlsx file. I need to find an easy way to remove the white space bloat now.