Note: The other languages of the website are Google-translated. Back to English

Hvordan opdeles data i flere regneark baseret på kolonne i Excel?

Antag, at du har et regneark med enorme rækker med data, og nu skal du opdele dataene i flere regneark baseret på Navn kolonne (se følgende skærmbillede), og navnene indtastes tilfældigt. Måske kan du først sortere dem og derefter kopiere og indsætte dem en efter en i andre nye regneark. Men dette kræver din tålmodighed til at kopiere og indsætte gentagne gange. I dag vil jeg tale om nogle hurtige tricks til at løse denne opgave.

doc opdele data efter kolonne 1

Opdel data i flere regneark baseret på kolonne med VBA-kode

Opdel data i flere regneark baseret på kolonne med Kutools til Excel


Opdel data i flere regneark baseret på kolonne med VBA-kode

Hvis du hurtigt og automatisk vil opdele data baseret på søjleværdi, er følgende VBA-kode et godt valg. Gør som dette:

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i modulvinduet.

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. Tryk derefter på F5 nøgle til at køre koden, og der vises en promptboks for at minde dig om at vælge overskriftsrækken, se skærmbillede:

doc opdele data efter kolonne 7

4. Klik derefter på OK knappen, og i det andet felt til prompt skal du vælge de søjledata, du vil opdele baseret på, se skærmbillede:

doc opdele data efter kolonne 8

5. Klik derefter på OK, og alle data i det aktive regneark er opdelt i flere regneark efter kolonneværdien. Og de delte regneark er navngivet med de delte cellenavne. Se skærmbillede:

doc opdele data efter kolonne 2

Bemærk: De opdelte regneark placeres i slutningen af ​​projektmappen, hvor masterarket er i.


Opdel data i flere regneark baseret på kolonne med Kutools til Excel

Som en nybegynder i Excel er denne lange VBA-kode noget vanskelig for os, og de fleste af os ved endda ikke, hvordan vi skal ændre koden som vores behov. Her vil jeg introducere dig til et multifunktionelt værktøj--Kutools til Excel, dens Opdel data hjælpeprogram kan ikke kun hjælpe dig med at opdele data i flere regneark baseret på kolonne, men kan også opdele data efter antal rækker.

Bemærk:At anvende dette Opdel dataFor det første skal du downloade Kutools til Excel, og anvend derefter funktionen hurtigt og nemt.

Efter installation Kutools til Excelskal du gøre som dette:

1. Vælg det dataområde, du vil opdele.

2. Klik Kutools Plus > Arbejdsark > Opdel data, se skærmbillede:

doc opdele data efter kolonne 3

3. I Opdel data i flere regneark dialogboks skal du:

1). Vælg Specifik kolonne valgmulighed i Split baseret på sektion, og vælg den kolonneværdi, som du vil opdele data baseret på i rullelisten. (Hvis dine data har overskrifter, og du vil indsætte dem i hvert nye delte regneark, skal du kontrollere Mine data har overskrifter mulighed.)

2). Derefter kan du angive navnene på det delte regneark under Nyt regnearknavn sektion, specificer regnearkets navne regler fra Regler rulleliste, kan du tilføje Præfiks or Suffiks også for arknavne.

3). Klik på OK knap. Se skærmbillede:

doc opdele data efter kolonne 4

4. Nu er dataene opdelt i flere regneark i en ny projektmappe.

doc opdele data efter kolonne 5

Klik for at downloade Kutools til Excel og gratis prøveversion nu!


Opdel data i flere regneark baseret på kolonne med Kutools til Excel

Kutools til Excel indeholder mere end 300 praktiske Excel-værktøjer. Gratis at prøve uden begrænsning på 30 dage. Download den gratis prøveperiode nu!


Relateret artikel:

Hvordan opdeles data i flere regneark efter antal rækker?


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (303)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Opdel data i flere regneark baseret på kolonne med VBA-kode viser nogle fejl. prøv venligst at rette det og opdater det samme. Hvis du leverer eksemplet af excel-filer, vil det være virkelig nyttigt.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, tak for koden den virker for mig! Jeg forsøger at finde en kode, der opdeler et masterark i flere ark baseret på dato
Denne kommentar blev minimeret af moderatoren på webstedet
Det var utroligt! Denne proces ville have taget mig over en time at udføre, men den blev gjort inden for 30 sekunder. Denne vil jeg beholde til mit VBA-bibliotek. Tak skal du have!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, jeg har 30000 celler i mit regneark og skal opdele dem i måneder. er der en kode jeg kan bruge til at gøre det hurtigere. Jeg har 8 kolonner, og datoen er kolonne B. Jeg har leget med ovenstående kode, der er givet, men fejler det stort. Kan du venligst hjælpe mig med dette. Tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg får følgende fejl: Runtime error '6' overflow Efter fejlfinding vis linjen For i = 2 To Ir Mine excel-rækker er over 500,000. Er der nogen løsning Mange tak for koden. Venlig hilsen Lok
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, mange tak for koden. Jeg får følgende fejl: Runtime fejl '6' overløb på linjen For i = 2 Til Ir Enhver løsning til dette. tak skal du have
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg får en fejl, når jeg trykker på F5 - GoTo Box beder om en reference??
Denne kommentar blev minimeret af moderatoren på webstedet
VBA-processen fungerede perfekt, mange tak for at dele din ekspertise og spare mig for en masse tid!
Denne kommentar blev minimeret af moderatoren på webstedet
VBA-koden fungerede perfekt. Det ser ikke ud til at opdatere arkene, da der foretages ændringer i Ark1. Hjælp venligst.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, tak for koden den virker for mig! Jeg har kun to spørgsmål/bemærkninger. 1 de kopierede data inkluderer ikke layoutet af den originale fil. Ville det være muligt at kopiere dataene som tabel med autofilter? 2 synes de kopierede data ikke at være afgrænset til titelområdet. Er det muligt at justere koden for et specifikt område eller tabelnavn? Disse justeringer ville være meget nyttige. Med venlig hilsen Pieter
Denne kommentar blev minimeret af moderatoren på webstedet
Virker som en charme! Tak skal du have.
Denne kommentar blev minimeret af moderatoren på webstedet
Fungerer som en charme... Tak for premium-koden... :lol:
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak, det fungerede godt. Men hvad sker der, hvis jeg vil have dataene inden for hver fane sorteret igen (ved hjælp af en anden kolonne)? Grundlæggende deler denne VBA det op i faner, men jeg vil måske have det opdelt yderligere..er det muligt?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Jonathan, gammel kommentar, jeg kender, men kan være nyttig for andre i fremtiden: Jeg havde brug for at gøre dette, men kunne ikke finde en nem måde med VBA. Jeg fandt dog ud af, at hvis du laver en ny kolonne i dit regneark som en sammenlægning af de 2, så f.eks. =A1&" "&A2, giver dette dig 1 celle med begge sæt informationer. Du kan derefter køre ovenstående modul, og det fungerer fint! Rediger - Dataene i kolonnerne skal være kortere end 30 tegn, ellers kopieres dataene ikke på tværs (vises som en fejl på modulet), og du får et blankt ark i midten af ​​dine nye Sheets.
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk.. Det var fantastisk. Jeg kæmpede med dette problem så længe, ​​og denne kode kom ind som et pusterum. Tak fordi du deler det.
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastiske. Tak for indlægget.
Denne kommentar blev minimeret af moderatoren på webstedet
Koden fungerede som en charme for en mindre data (mindre end 1200 rækker). Jeg forsøgte at bruge på det større regneark med (17000 rækker), og det gik lige ned efter opdeling i 10-12 ark. Så vi forsøgte at opdele de originale data i 3 forskellige projektmapper og stadig lukke os ned. Vi har Windows 7, og vores computere er heller ikke så langsomme. Foreslår du nogle begrænsede rækker på data for at bruge denne kode sikkert? Ethvert forslag ville blive værdsat.
Denne kommentar blev minimeret af moderatoren på webstedet
Koden fungerede som en charme for en mindre data (mindre end 1200 rækker). Jeg forsøgte at bruge på det større regneark med (17000 rækker), og det gik lige ned efter opdeling i 10-12 ark. Så vi forsøgte at opdele de originale data i 3 forskellige projektmapper og stadig lukke os ned. Vi har Windows 7, og vores computere er heller ikke så langsomme. Foreslår du nogle begrænsede rækker på data for at bruge denne kode sikkert? Ethvert forslag ville blive værdsat. Hvad jeg ikke er sikker på er: Hvad er det maksimale antal rækker, som makroen kan understøtte? Jeg kunne lege med det... Det er et sted mellem 20k og 40k![/quote]
Denne kommentar blev minimeret af moderatoren på webstedet
Står over for samme problem. Kode virker for ark, hvor data er færre rækker, men for større data viser den fejl, da "Excel kan ikke fuldføre denne opgave med tilgængelige ressourcer. Vælg færre data, eller luk andre programmer" (der er ikke nogen anden applikation, der arbejder på samme tid) Koden fungerede som en charme for en mindre data (mindre end 1200 rækker). Jeg forsøgte at bruge på det større regneark med (17000 rækker), og det gik lige ned efter opdeling i 10-12 ark. Så vi forsøgte at opdele de originale data i 3 forskellige projektmapper og stadig lukke os ned. Vi har Windows 7, og vores computere er heller ikke så langsomme. Foreslår du nogle begrænsede rækker på data for at bruge denne kode sikkert? Ethvert forslag ville blive værdsat.
Denne kommentar blev minimeret af moderatoren på webstedet
Du er min helt! Jeg har ledt efter dette i flere måneder uden held. Jeg er nødt til at gøre denne ugentlig/månedlig opdeling af rapporter i 147+ regneark, og de vil ikke give mig kutools. På den note.. Jeg har virkelig brug for at lære kodning. :( Men tak!
Denne kommentar blev minimeret af moderatoren på webstedet
HEJ, jeg har et ark med 65000 poster og 8 forskellige sager, så grundlæggende burde det generere 80 forskellige ark. Jeg prøvede at køre denne kode, men den kaster Runtime Error 6 Overflow. Kan denne kode justeres for at løse mit problem? Venligst ur hjælp vil blive meget værdsat.
Denne kommentar blev minimeret af moderatoren på webstedet
[quote]HEJ, jeg har et ark med 65000 poster og med 8 forskellige sager, så grundlæggende burde det generere 80 forskellige ark. Jeg prøvede at køre denne kode, men den kaster Runtime Error 6 Overflow. Kan denne kode justeres for at løse mit problem? Venligst ur hjælp vil blive meget værdsat.Af ACE[/quote] Prøv at ændre Dim vcol, i As Integer til Dim vcol, i As Long
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Jeg prøvede at ændre DIM vcol til LOng, og det fungerede godt, men pludselig er det gennem en fejl, der ikke er nok hukommelse til at fuldføre denne handling, prøv at bruge mindre data eller lukke andre programmer. Selvom jeg ikke har andre applikationer åbne. Jeg har lidt mere end 100 k rækker og ca. 16 mb filstørrelse. enhver hjælp ville være værdsat. Tak Mustafa
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk smule kode - fungerer perfekt (hvis du ændrer variablerne til den, dit regneark har brug for)
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har et ark med et variabelt antal rækker. En af kolonnerne er datoerne fra 2010 og frem. De øvrige kolonner er fondsnavne med NAV-data for hver fond mod datoen. Så jeg ønsker ikke at opdele kolonnerne i forskellige ark, jeg vil opdele hvert FONDENS NAVN i sit eget ark med NAV-data pr. månedsslutdato, ikke de daglige datoer. Kan dette lade sig gøre eller er det umuligt?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har et regneark, som jeg bruger, og jeg prøver at finde en vba-kode, der genkender et kontonavn og kopierer den specifikke række til en ny projektmappe og et ark med samme navn. Kan du hjælpe?
Denne kommentar blev minimeret af moderatoren på webstedet
Store! VBA-koden virker, tak! Jeg har brug for, at disse output-regneark skal være i individuelle excel-filer i stedet for regneark, og der er fejl, når jeg deler til mange mange regneark.
Denne kommentar blev minimeret af moderatoren på webstedet
Starscor og Tim, hvis du vil opdele arkene i filen i flere filer ved hjælp af navnene på rækkerne, er der en lille makrokode på den samme webside, der gør det, søg bare på "opdel en projektmappe for at adskille Excel-filer" du vil finde det. Tilføj koden for dette eksempel til slutningen af ​​dette, og slett selvfølgelig den duplikerede ende-sub og sub, og du får en fil for hver.
Denne kommentar blev minimeret af moderatoren på webstedet
kan nogen hjælpe mig med at sortere kolonnerne i forskellige ark i den samme projektmappe ad gangen og også fjerne dubletter i forskellige ark, da jeg har omkring 65 ark i den samme projektmappe
Denne kommentar blev minimeret af moderatoren på webstedet
det er så spændende! Tak skal du have. Jeg har ledt efter dette i nogen tid.
Denne kommentar blev minimeret af moderatoren på webstedet
Fremragende - tak fordi du deler dette. Udbreder endda højdepunkter/format til nye regneark!
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL