Preskoči na glavno vsebino

Kako ustvariti nove liste za vsako vrstico v Excelu?

Predpostavimo, da imate tabelo rezultatov z vsemi imeni učencev v stolpcu A. Zdaj želite ustvariti nove liste na podlagi teh imen v stolpcu A, in make na list vsebuje edinstvene podatke študenta. Ali pa preprosto ustvarite nov list za vsako vrstico v tabeli, ne da bi upoštevali imena v stolpcu A. V tem videu boste dobili metode za dosego tega.

Ustvarite nove liste za vsako vrstico s kodo VBA
Ustvarite nove liste za vsako vrstico s pripomočkom Split Data Kutools za Excel


Ustvarite nove liste za vsako vrstico s kodo VBA

Z naslednjimi kodami lahko ustvarite nov list na podlagi vrednosti stolpcev ali preprosto ustvarite nove liste za vsako vrstico v Excelu.

1. Pritisnite druga + F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno.

2. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Moduli. In nato prilepite naslednjo kodo v Moduli okno.

Koda VBA: ustvarite nov list za vsako vrstico na podlagi stolpca

Sub parse_data()
'Update by Extendoffice 2018/3/2
    Dim xRCount As Long
    Dim xSht As Worksheet
    Dim xNSht As Worksheet
    Dim I As Long
    Dim xTRrow As Integer
    Dim xCol As New Collection
    Dim xTitle As String
    Dim xSUpdate As Boolean
    Set xSht = ActiveSheet
    On Error Resume Next
    xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
    xTitle = "A1:C1"
    xTRrow = xSht.Range(xTitle).Cells(1).Row
    For I = 2 To xRCount
        Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
    Next
    xSUpdate = Application.ScreenUpdating
    Application.ScreenUpdating = False
    For I = 1 To xCol.Count
        Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
        Set xNSht = Nothing
        Set xNSht = Worksheets(CStr(xCol.Item(I)))
        If xNSht Is Nothing Then
            Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
            xNSht.Name = CStr(xCol.Item(I))
        Else
            xNSht.Move , Sheets(Sheets.Count)
        End If
        xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
        xNSht.Columns.AutoFit
    Next
    xSht.AutoFilterMode = False
    xSht.Activate
    Application.ScreenUpdating = xSUpdate
End Sub

Opombe: A1: C1 je obseg naslovov vaše tabele. Lahko ga spremenite glede na svoje potrebe.

3. Pritisnite F5 ključ za zagon kode, potem se po vseh delovnih listih trenutnega delovnega zvezka ustvarijo novi delovni listi, kot je prikazano spodaj:

Če želite za vsako vrstico neposredno ustvariti nove liste, ne da bi upoštevali vrednost stolpca, lahko uporabite naslednjo kodo.

Koda VBA: Neposredno ustvarite nov list za vsako vrstico

Sub RowToSheet()
	Dim xRow As Long
	Dim I As Long
	With ActiveSheet
		xRow = .Range("A" & Rows.Count).End(xlUp).Row
		For I = 1 To xRow
			Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
			.Rows(I).Copy Sheets("Row " & I).Range("A1")
		Next I
	End With
End Sub

Po zagonu kode bo vsaka vrstica v aktivnem delovnem listu postavljena v nov delovni list.

Opombe: Vrstica z naslovi bo prav tako postavljena v nov list s to kodo VBA.


Ustvarite nove liste za vsako vrstico s pripomočkom Split Data Kutools za Excel

Pravzaprav je zgornja metoda zapletena in težko razumljiva. V tem poglavju vam predstavljamo Razdeljeni podatki uporabnost Kutools za Excel.

Pred vložitvijo vloge Kutools za ExcelProsim najprej ga prenesite in namestite.

1. Izberite tabelo, ki jo želite uporabiti za ustvarjanje novih listov, in kliknite Kutools Plus> Podatki o pljuvanju. Oglejte si posnetek zaslona:

2. V Ljubljani Razdelite podatke na več delovnih listov pogovorno okno, naredite naslednje.

A. Za ustvarjanje novih listov na podlagi vrednosti stolpca:

1). Izberite Poseben stolpec in na spustnem seznamu določite stolpec, na podlagi katerega želite razdeliti podatke;
2). Če želite poimenovati delovne liste z vrednostmi stolpcev, izberite Vrednosti stolpca v Pravila spustni seznam;
3). Kliknite OK . Oglejte si posnetek zaslona:

B. Za neposredno ustvarjanje novih listov za vsako vrstico:

1). Izberite Fiksne vrstice možnost, vnesite številko 1 v škatlo;
2). Izberite Številke vrstic Iz Pravila spustni seznam;
3). Kliknite OK . Oglejte si posnetek zaslona:

ustvarjen je nov delovni zvezek z vsemi novimi listi. Oglejte si posnetke zaslona spodaj.

Ustvarjanje novih listov za vsako vrstico na podlagi vrednosti stolpca:

Ustvarjanje novega lista za vsako vrstico brez upoštevanja vrednosti stolpca:

  Če želite imeti brezplačno (30-dnevno) preskusno različico tega pripomočka, kliknite, če ga želite prenestiin nato nadaljujte z uporabo postopka v skladu z zgornjimi koraki.

Ustvarite nove liste za vsako vrstico s pripomočkom Split Data Kutools za Excel

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
Comments (33)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
HI, Thanks for this wonder-full code, Can we get dynamic sheet, means if i update data in respective sheet it will get updated in main sheet.
This comment was minimized by the moderator on the site
Hi vikas chandra,
I can't fix this problem. Sorry about that.
This comment was minimized by the moderator on the site
Hi, I have a problem about title, the title range of my table is A1:AI2, when I changed the code like that it doesn't work.

***Note: A1:C1 is the title range of your table. You can change it based on your needs.***
This comment was minimized by the moderator on the site
Hello, thanks so much for this. I'm looking to modify the macro such that it will create a sheet for each row of a column and within each sheet have a function (average) that I can populate data into and in turn have the outcome linked back into the original sheet. Is this possible? I can try to clarify further if this doesn't make sense or is ambiguous.
This comment was minimized by the moderator on the site
Hi, is there a code which would add only 1 new sheet each time the macro is run, eg 1st time the new sheet would be named on the contents of cell A1, 2nd time the macro was run the new sheet would be named on the contents of A2 etc. thanks in anticipation
This comment was minimized by the moderator on the site
Hello, used this code and worked, but If I want select the more then one rows in header, what will be change in the code ? I have multiple lines in the sheet which I want in every sheet.
This comment was minimized by the moderator on the site
Hello, did you figured out how?
This comment was minimized by the moderator on the site
Hello! I just used this code and it worked! In addition to creating a new sheet for each entry, I want to transpose it to columns and can't figure it out. So for the above example, the output for Nana would look like this - Name NanaScore 86No. 2
This comment was minimized by the moderator on the site
<p> Nana
86
2</p>
This comment was minimized by the moderator on the site
How to reference the use of the code above (credit) ? Is it possible to modify the code ?
This comment was minimized by the moderator on the site
Hi, this is an open communication platform. The code is allowed to reference and modify.
This comment was minimized by the moderator on the site
Nevermind it was hidden trailing spaces. I used the TRIM feature and cleaned it up. Having a row count (line count really so rows -1 prepended to the sheet would be amazing)
This comment was minimized by the moderator on the site
Please can i get help on how to automatically name the sheets using a particular column. This is for the row to sheet VBA. See below

Sub RowToSheet()

Dim xRow As Long

Dim I As Long

With ActiveSheet

xRow = .Range("A" & Rows.Count).End(xlUp).Row

For I = 1 To xRow

Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I

.Rows(I).Copy Sheets("Row " & I).Range("A1")

Next I

End With

End Sub
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations