Přejít k hlavnímu obsahu

Jak vložit prázdné řádky při změně hodnoty v aplikaci Excel?

Předpokládejme, že máte rozsah dat a nyní chcete mezi data při změně hodnoty vložit prázdné řádky, abyste mohli oddělit postupné stejné hodnoty v jednom sloupci, jak ukazují následující snímky obrazovky. V tomto článku budu mluvit o některých tricích, jak vyřešit tento problém.

Při změně hodnoty pomocí funkce Mezisoučet vložte prázdné řádky

Vložte prázdné řádky, když se hodnota změní, pomocí pomocných sloupců

Při změně hodnoty pomocí kódu VBA vložte prázdné řádky

Když se hodnota změní pomocí výkonné funkce, vložte konkrétní počet prázdných řádků


Při změně hodnoty pomocí funkce Mezisoučet vložte prázdné řádky

S Mezisoučet Při změně hodnoty můžete mezi data vložit prázdné řádky následujícím způsobem:

1. Vyberte rozsah dat, který chcete použít.

2, klikněte Data > Mezisoučet k otevření Mezisoučet v dialogovém okně a v Mezisoučet v dialogovém okně proveďte následující možnosti:

1: Vyberte název sloupce, do kterého chcete vložit prázdné řádky, podle toho, kdy se hodnota změní pod Při každé změně v sekci;
2: Vybrat Počítat z použijte funkci rozbalovací seznam;
3: Zaškrtněte název sloupce, do kterého chcete vložit mezisoučet Přidat mezisoučet do seznam

3. Pak klikněte na tlačítko OK, mezisoučty řádků byly vloženy mezi různé produkty a symboly obrysů se zobrazují vlevo od tabulky, viz screenshot:

4. A potom klikněte na číslo 2 v horní části symbolu obrysu, aby se zobrazily pouze mezisoučty.

5. Poté vyberte data mezisoučtu rozsahu a stiskněte Alt +; klávesové zkratky pro výběr pouze viditelných řádků, viz screenshot:

6. Po výběru pouze viditelných řádků stiskněte Vymazat na klávesnici a všechny mezisoučty řádků byly odstraněny.

7. Poté klikněte na libovolnou jinou buňku a vraťte se zpět Data > Oddělit > Vymazat obrys Chcete-li odstranit obrysy, viz screenshot:

8. Symboly osnovy byly vymazány najednou a můžete vidět, že mezi data při změně hodnoty byly vloženy prázdné řádky, viz screenshot:

9. Nakonec můžete sloupec A podle potřeby smazat.


Když se hodnota rychle změní, vložte konec stránky, prázdné řádky, spodní okraj nebo barvu výplně

Pokud máte Kutools pro Excel's Rozlišujte rozdíly funkce, můžete rychle vložit konec stránky, prázdné řádky, spodní ohraničení nebo barvu výplně, když se hodnota změní, jak potřebujete. Podívejte se na níže uvedenou ukázku.         Klikněte a stáhněte si Kutools pro Excel!


Vložte prázdné řádky, když se hodnota změní, pomocí pomocných sloupců

Se sloupci pomocníka můžete nejprve vložit vzorec a poté použít Najít a nahradit funkce, vložit prázdné řádky mezi měnící se hodnoty. Postupujte prosím následovně:

1. Do prázdné buňky C3 zadejte tento vzorec = A3 = A2, a do buňky D4 zadejte tento vzorec = A4 = A3, viz screenshot:

2. Poté vyberte C3: D4 a přetáhněte rukojeť výplně do rozsahu, na který chcete použít tyto vzorce, a dostanete Pravdivý or Falešný v buňkách, viz screenshot:

3. A pak stiskněte Ctrl + F klávesy pro otevření Najít a nahradit v rozevíracím dialogovém okně zadejte NEPRAVDIVÉ do Najít to, co textové pole pod Najít kartu a klepněte na tlačítko možnosti tlačítko pro rozbalení tohoto dialogu a zvolte Hodnoty z Podívejte se do rozevírací seznam, viz screenshot:

4. klikněte Najít vše tlačítko a potom stiskněte Ctrl + chcete-li vybrat všechny výsledky hledání, byly vybrány všechny FALSE buňky najednou, viz screenshot:

6. Zavři Najít a nahradit V dalším kroku můžete kliknutím na ikonu vložit prázdné řádky Domů > Vložit > Vložte řádky listůa do dat byly vloženy prázdné řádky při změně hodnoty na základě sloupce A, viz screenshoty:

7. Nakonec můžete podle potřeby odstranit pomocné sloupce C a D.


Při změně hodnoty pomocí kódu VBA vložte prázdné řádky

Pokud jste unaveni z používání výše uvedených metod, zde je také kód, který vám pomůže vložit prázdné řádky mezi změněné hodnoty najednou.

1. Podržte ALT + F11 klávesy pro otevření Okno Microsoft Visual Basic pro aplikace.

2, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: Při změně hodnoty vložte prázdné řádky

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. Pak stiskněte tlačítko F5 klíč ke spuštění tohoto kódu a zobrazí se okno s výzvou, které vám umožní vybrat data jednoho sloupce, do kterého chcete vložit prázdné řádky při změně hodnoty, na které jste založeni, viz screenshot:

4. A pak klikněte na tlačítko OK, byly prázdné řádky vloženy mezi data při změně hodnoty na základě sloupce A.


Když se hodnota změní pomocí výkonné funkce, vložte konkrétní počet prázdných řádků

Pokud jste byli vyzkoušeni výše uvedenými obtížnými metodami, představím zde užitečný nástroj, Kutools pro Excel's Rozlišujte rozdíly vám pomůže vložit konec stránky, prázdné řádky, spodní ohraničení nebo barvu výplně, když se hodnota buňky rychle a snadno změní.

Tip:Použít toto Rozlišujte rozdíly funkce, za prvé, měli byste si stáhnout Kutools pro Excela poté tuto funkci rychle a snadno aplikujte.

Po instalaci Kutools pro Excel, udělejte prosím toto:

1, klikněte Kutools > Formát > Rozlišujte rozdíly, viz screenshot:

2. V Rozlišujte rozdíly podle sloupce klíče V dialogovém okně proveďte následující operace:

  • Vyberte rozsah dat, který chcete použít, a poté vyberte klíčový sloupec, do kterého chcete vložit prázdné řádky;
  • Pak zkontrolujte Prázdný řádek možnost z nabídky možnosti a zadejte počet prázdných řádků, které chcete vložit.

3. Pak klikněte na tlačítko Ok tlačítko a konkrétní počet prázdných řádků byl vložen do dat, pokud se změní hodnota buňky, viz screenshoty:

Klikněte a stáhněte si Kutools pro Excel a bezplatnou zkušební verzi hned teď!

Nejlepší nástroje pro produktivitu v kanceláři

Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

karta kte 201905


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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