Cum să împărțiți datele în mai multe foi de lucru pe baza coloanei din Excel?
Presupunând că aveți o foaie de lucru cu rânduri uriașe de date și acum trebuie să împărțiți datele în mai multe foi de lucru pe baza Nume si Prenume (vezi următoarea captură de ecran), iar numele sunt introduse aleatoriu. Poate le puteți sorta mai întâi, apoi le puteți copia și lipi unul câte unul în alte foi de lucru noi. Dar acest lucru va avea nevoie de răbdare pentru a copia și lipi în mod repetat. Astăzi, voi vorbi despre câteva trucuri rapide pentru a rezolva această sarcină.
Împărțiți datele în mai multe foi de lucru pe baza coloanei cu cod VBA
Împărțiți datele în mai multe foi de lucru pe baza coloanei cu Kutools pentru Excel
Împărțiți datele în mai multe foi de lucru pe baza coloanei cu cod VBA
Dacă doriți să împărțiți datele pe baza valorii coloanei rapid și automat, următorul cod VBA este o alegere bună. Vă rugăm să faceți acest lucru:
1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următorul cod în fereastra modulului.
Sub Splitdatabycol()
'updateby 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
Dim xWS 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
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.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. Apoi, apăsați F5 tasta pentru a rula codul și se afișează o casetă de solicitare pentru a vă reaminti să selectați rândul antet, vedeți captura de ecran:
4. Apoi, faceți clic OK și, în a doua casetă de prompt, selectați datele coloanei pe care doriți să le împărțiți, vedeți captura de ecran:
5. Apoi apasa OKși toate datele din foaia de lucru activă sunt împărțite în mai multe foi de lucru după valoarea coloanei. Și foile de lucru împărțite sunt denumite cu numele de celule împărțite. Vedeți captura de ecran:
notițe: Foile de lucru împărțite sunt plasate la sfârșitul registrului de lucru în care se află foaia de lucru principală.
Împărțiți datele în mai multe foi de lucru pe baza coloanei cu Kutools pentru Excel
Ca un începător Excel, acest cod VBA lung este oarecum dificil pentru noi și majoritatea dintre noi nici măcar nu știu cum să modificăm codul ca nevoie. Aici, vă voi prezenta un instrument multifuncțional -Kutools pentru Excel, ict Împărțiți datele utilitarul nu numai că vă poate ajuta să împărțiți datele în mai multe foi de lucru pe baza coloanei, dar vă poate împărți și datele în funcție de numărul de rânduri.
Notă:Pentru a aplica acest lucru Împărțiți datele, în primul rând, ar trebui să descărcați fișierul Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.
După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:
1. Selectați intervalul de date pe care doriți să îl împărțiți.
2. Clic Kutools Plus > Fisa de lucru > Împărțiți datele, vezi captura de ecran:
3. În Împărțiți datele în mai multe foi de lucru casetă de dialog, trebuie să:
1). Selectați Coloană specifică opțiune în Split pe baza și alegeți valoarea coloanei pe care doriți să împărțiți datele pe baza listei derulante. (Dacă datele dvs. au anteturi și doriți să le inserați în fiecare nouă foaie de lucru divizată, verificați Datele mele au anteturi opțiune.)
2). Apoi puteți specifica numele foilor de lucru împărțite, sub Numele noilor foi de lucru secțiunea, specificați regulile de nume ale foii de lucru din Reguli lista derulantă, puteți adăuga fișierul Prefix or Sufix și pentru numele foilor.
3). Apasă pe OK buton. Vedeți captura de ecran:
4. Acum datele sunt împărțite în mai multe foi de lucru într-un nou registru de lucru.
Faceți clic pentru a descărca Kutools pentru Excel și încercare gratuită acum!
Împărțiți datele în mai multe foi de lucru pe baza coloanei cu Kutools pentru Excel
Kutools pentru Excel include mai mult de 300 de instrumente Excel la îndemână. Încercare gratuită fără limitări în 30 de zile. Descărcați proba gratuită acum!
Articol asociat:
Cum să împărțiți datele în mai multe foi de lucru pe rânduri?
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!