Hogyan oszthatja fel az adatokat több munkalapra az Excel oszlopai alapján?
Tételezzük fel, hogy van egy munkalap hatalmas adatsorokkal, és most az adatokat több munkalapra kell felosztani a Név oszlopot (lásd a következő képernyőképet), és a neveket véletlenszerűen írja be. Lehet, hogy először rendezni tudja őket, majd egyesével másolni és beilleszteni más új munkalapokba. Ehhez azonban türelmére lesz szükség az ismételt másoláshoz és beillesztéshez. Ma néhány gyors trükkről fogok beszélni ennek a feladatnak a megoldására.
Az adatok felosztása több munkalapra VBA kóddal ellátott oszlop alapján
Oszd fel az adatokat több munkalapra oszlop alapján a Kutools for Excel segítségével
Az adatok felosztása több munkalapra VBA kóddal ellátott oszlop alapján
Ha gyorsan és automatikusan fel akarja osztani az adatokat az oszlop értéke alapján, akkor a következő VBA-kód jó választás. Kérjük, tegye a következőket:
1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.
2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablakba.
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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és megjelenik egy prompt doboz, amely emlékezteti Önt a fejléc sorának kiválasztására, lásd a képernyőképet:
4. Ezután kattintson OK gombra, és a második mezőben válassza ki az oszlopadatokat, amelyek alapján fel akarja osztani, lásd a képernyőképet:
5. Ezután kattints a gombra OK, és az aktív munkalap összes adata több munkalapra oszlik az oszlop értéke alapján. Az osztott munkalapokat pedig a hasított cellák nevével nevezik el. Lásd a képernyőképet:
Megjegyzések: Az osztott munkalapok a munkafüzet végébe kerülnek, ahol a fő munkalap található.
Oszd fel az adatokat több munkalapra oszlop alapján a Kutools for Excel segítségével
Excel-kezdőként ez a hosszú VBA-kód némileg nehéz számunkra, sőt a legtöbben nem is tudjuk, hogyan kell a kódot szükség szerint módosítani. Itt bemutatok egy multifunkcionális eszközt -Kutools az Excel számára, annak Osztott adatok A segédprogram nemcsak az oszlopok alapján több munkalapra oszthatja az adatokat, hanem az adatokat sorszám szerint is fel tudja osztani.
Jegyzet:Ennek alkalmazásához Osztott adatok, először is le kell töltenie a Kutools az Excel számára, majd gyorsan és egyszerűen alkalmazza a funkciót.
Telepítése után Kutools az Excel számára, kérjük, tegye a következőket:
1. Válassza ki a felosztani kívánt adattartományt.
2. Kattints Kutools Plus > Munkalap > Osztott adatok, lásd a képernyőképet:
3. Az Az adatok felosztása több munkalapra párbeszédpanelen:
1). Válassza a lehetőséget Konkrét oszlop lehetőség a Felosztása alapján szakaszban válassza ki azt az oszlopértéket, amely alapján az adatokat fel szeretné osztani a legördülő listában. (Ha az adatainak fejlécei vannak, és be akarja őket illeszteni minden új felosztott munkalapba, ellenőrizze Adataim fejléceket tartalmaznak választási lehetőség.)
2). Ezután megadhatja az osztott munkalap nevét a Új munkalapok neve szakaszban adja meg a munkalap nevének szabályait a Szabályok legördülő listából felveheti a prefix or képző a lapnevekhez is.
3). Kattints a OK gomb. Lásd a képernyőképet:
4. Az adatok több munkalapra vannak felosztva egy új munkafüzetben.
Kattintson a Kutools for Excel letöltéséhez és az ingyenes próbaverzióhoz most!
Oszd fel az adatokat több munkalapra oszlop alapján a Kutools for Excel segítségével
Kutools az Excel számára több mint 300 praktikus Excel eszközt tartalmaz. 30 nap alatt szabadon kipróbálható korlátozás nélkül. Töltse le most az ingyenes próbaverziót!
Kapcsolódó cikk:
Hogyan lehet felosztani az adatokat több munkalapra sorszám szerint?
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját
- Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
- Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
- 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!