Gå til hovedindhold

Hvordan indsættes tomme rækker, når værdien ændres i Excel?

Antag at du har en række data, og nu vil du indsætte tomme rækker mellem dataene, når værdien ændres, så du kan adskille de sekventielle samme værdier i en kolonne som følgende skærmbilleder vist. I denne artikel vil jeg tale om nogle tricks til dig for at løse dette problem.

Indsæt tomme rækker, når værdien ændres med subtotal-funktionen

Indsæt tomme rækker, når værdien ændres med hjælpekolonner

Indsæt tomme rækker, når værdien ændres med VBA-kode

Indsæt specifikt antal tomme rækker, når værdien ændres med en kraftfuld funktion


Indsæt tomme rækker, når værdien ændres med subtotal-funktionen

Med Subtotal funktion, kan du indsætte tomme rækker mellem dataene, når værdien ændres som følgende trin:

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

2. Klik data > Subtotal at åbne Subtotal dialogboksen og i Subtotal dialog, skal du gøre følgende muligheder:

1: Vælg det kolonnenavn, som du vil indsætte tomme rækker, baseret på når værdien ændres under Ved hver ændring i sektion;
2: Vælg Tælle fra Brug funktionen rulleliste
3: Kontroller det kolonnenavn, som du vil indsætte subtotalen i Føj subtotal til listefelt

3. Klik derefter på OK, er subtotelinjerne indsat mellem de forskellige produkter, og omridssymbolerne vises til venstre for tabellen, se skærmbillede:

4. Og klik derefter på tallet 2 øverst i omridssymbolet for kun kun at vise subtotallinjerne.

5. Vælg derefter data om subtotalområdet, og tryk på Alt +; genvejstaster for kun at vælge de synlige rækker, se skærmbillede:

6. Når du kun har valgt de synlige rækker, skal du trykke på Slette tasten på tastaturet, og alle subtotalrækker er blevet fjernet.

7. Klik derefter på en hvilken som helst anden celle, og gå tilbage data > Opdel gruppe > Ryd omrids for at fjerne konturerne, se skærmbillede:

8. Kontursymbolerne er ryddet med det samme, og du kan se, at der er indsat tomme rækker mellem dataene, når værdien ændres, se skærmbillede:

9. Endelig kan du slette kolonnen A efter behov.


Indsæt sideskift, tomme rækker, nederste kant eller udfyld farve, når værdien ændres hurtigt

Hvis du har Kutools til Excel's Skel mellem forskelle funktion, kan du hurtigt indsætte sideskift, tomme rækker, nederste kant eller udfyldningsfarve, når værdien ændres efter behov. Se nedenstående demo.         Klik for at downloade Kutools til Excel!


Indsæt tomme rækker, når værdien ændres med hjælpekolonner

Med hjælpekolonnerne kan du først indsætte formlen og derefter anvende Søg og erstat funktion, til sidst indsæt de tomme rækker mellem de skiftende værdier. Gør som følger:

1. Indtast denne formel i en tom celle C3 = A3 = A2og i celle D4 indtast denne formel = A4 = A3, se skærmbillede:

2. Vælg derefter C3: D4, og træk udfyldningshåndtaget over til det område, som du vil anvende disse formler, så får du Sand or False i cellerne, se skærmbillede:

3. Og tryk derefter på Ctrl + F nøgler til at åbne Søg og erstat i dialogboksen, der vises, skal du åbne FALSK ind i Find hvad tekstfelt under Finde fane og klik Indstillinger knap for at udvide denne dialog og vælge Værdier fra Kig ind rulleliste, se skærmbillede:

4. Klik Find alle og tryk derefter på Ctrl + A for at vælge alle resultaterne af at finde, er alle FALSE celler blevet valgt på én gang, se skærmbillede:

6. Luk Søg og erstat dialog, næste trin, kan du indsætte tomme rækker ved at klikke Home > indsatte > Indsæt arkrækker, og tomme rækker er indsat i dataene, når værdien ændres baseret på kolonne A, se skærmbilleder:

7. Endelig kan du slette hjælpekolonnen C og D efter behov.


Indsæt tomme rækker, når værdien ændres med VBA-kode

Hvis du er træt af at bruge ovenstående metoder, er der en kode, der også kan hjælpe dig med at indsætte blanke rækker mellem de ændrede værdier på én gang.

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

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

VBA-kode: Indsæt tomme rækker, når værdien ændres

Sub InsertRowsAtValueChange()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3. Tryk derefter på F5 nøgle til at køre denne kode, og et promptfelt vises, så du kan vælge en kolonnedata, som du vil indsætte tomme rækker, når værdien ændres, som du er baseret på, se skærmbillede:

4. Og klik derefter på OKer de tomme rækker indsat mellem data, når værdien ændres baseret på kolonne A.


Indsæt specifikt antal tomme rækker, når værdien ændres med en kraftfuld funktion

Hvis du bliver prøvet med ovenstående besværlige metoder, her introducerer jeg et nyttigt værktøj, Kutools til Excel's Skel mellem forskelle kan hjælpe dig med at indsætte sideskift, tomme rækker, nederste kant eller udfyldningsfarve, når celleværdien ændres hurtigt og nemt.

tips:At anvende dette Skel mellem forskelle funktion, for 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. Klik Kutools > dannet > Skel mellem forskelle, se skærmbillede:

2. I Skelne forskelle ved hjælp af nøglekolonne dialogboksen, skal du udføre følgende handlinger:

  • Vælg det dataområde, du vil bruge, og vælg derefter den nøglekolonne, du vil indsætte tomme rækker baseret på;
  • Tjek derefter Tom række mulighed fra Indstillinger sektion, og indtast antallet af tomme rækker, som du vil indsætte.

3. Klik derefter på Ok knap, og det specifikke antal tomme rækker er indsat i dataene, hvis celleværdien ændres, se skærmbilleder:

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

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


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!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, Hassan,

This vba is amazing, whereas I need one more alternate code for insert single blank row after changes in sequencing numbers. Example:- In column having number series like 1, 2, 3, 5, 6, 9 & etc...
Need to add single blank row between 3 & 5 as well as 6 & 9.
Please can you with this.
This comment was minimized by the moderator on the site
Can the VBA method be adapted to ignore blank cells? I have a file which I need to insert rows in based on two different columns but when I run the macro on the second column I end up with three blank lines where the first macro run inserted rows.
Or can it run on two columns at the same time?
This comment was minimized by the moderator on the site
Hello,
Is very usefull in case i need to insert 1 row, but if i need to insert 145 rows in every time the data change in spwcific column, how can i do it??
This comment was minimized by the moderator on the site
Hi, Hassan,
To insert multiple blank rows when value changes in a specific column, you should apply the following VBA code:

Note: In the below code, you should change the number 99 to your need, for example, when you insert 145 blank rows, you should change the number 99 to 144. Please try it, hope it can help you!

Sub InsertRowsAtValueChange()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
Range(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
End If
Next
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Very helpful. The code that skyyang shows above worked perfectly. Just make sure that the data doesn't already have spaces in it.

I don't understand VBA, but I believe if you wanted to add more rows underneath data that already had the spacing, there should be a way to ignore spaces.

Could a line be added to ignore or skip over blank lines? That might make this code more universal and repeatable if needed. Also a delete function that is similar to this may be useful so undo isn't necessary.
This comment was minimized by the moderator on the site
RE: insert blank rows when value changes with vba code
Is there a way that I can save the Range & not have to pick it every time I run it?
This comment was minimized by the moderator on the site
The VBA code worked 1st time and did exactly what I was trying to do. Thank you so much!
This comment was minimized by the moderator on the site
I've been using my own solution for some time.
1. Insert a helper column into Column A
2. In A2, type "if(B2=B1,A1,A1+1)"
3. Copy that formula down to the last row
4. Copy all the populated cells in column A and Paste Special (Values) over them
5. Copy all the cells again and paste them into column A in the first unpopulated cell (e.g. if you have 104 rows of data plus a header row you would paste into cell A106)
6. Click on Data and Remove Duplicates (only on the cells you just pasted in Step 5; not on all rows)
7. Sort all of Column A
8. Delete Column A

Seems like a lot of steps but only takes a few seconds.
This comment was minimized by the moderator on the site
[quote]Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.By Hudson[/quote] Please let me know how to insert more than 1 row.
This comment was minimized by the moderator on the site
Hi there, These are almost useful! The first method doesn't work for me because when I follow the steps explicitly, the the data that I delete in the subtotal panes deletes the entire columns that I've sorted. In the second method when I get to the step where I insert sheet rows, the rows are inserted ABOVE the FALSE cells which breaks up the data, but the last selection of every group is then added to the group below. Any advice???
This comment was minimized by the moderator on the site
Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.
This comment was minimized by the moderator on the site
Where in the code would I need to modify to include more than one row, I need to add 10 after each break... Thanks
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