Salt la conținutul principal

Cum se inserează rânduri goale atunci când valoarea se schimbă în Excel?

Presupunând că aveți o gamă de date și acum doriți să inserați rânduri goale între date atunci când valoarea se schimbă, astfel încât să puteți separa aceleași valori secvențiale într-o singură coloană, după cum se arată în următoarele capturi de ecran. În acest articol, voi vorbi despre câteva trucuri pentru a rezolva această problemă.

Introduceți rânduri goale atunci când valoarea se modifică cu funcția Subtotal

Introduceți rânduri goale atunci când valoarea se modifică cu coloanele de ajutor

Introduceți rânduri goale atunci când valoarea se modifică cu codul VBA

Introduceți un anumit număr de rânduri goale atunci când valoarea se schimbă cu o caracteristică puternică


Introduceți rânduri goale atunci când valoarea se modifică cu funcția Subtotal

Cu Total caracteristică, puteți insera rânduri goale între date atunci când valoarea se modifică după cum urmează pașii:

1. Selectați intervalul de date pe care doriți să îl utilizați.

2. Clic Date > Total pentru a deschide Total caseta de dialog și în Total dialog, vă rugăm să faceți următoarele opțiuni:

1: Selectați numele coloanei pe care doriți să inserați rânduri goale pe baza valorii în care se schimbă valoarea La fiecare schimbare in sectiune;
2: Alegeți Conta de la funcţia de utilizare lista verticală;
3: Verificați numele coloanei la care doriți să inserați subtotalul în Adăugați un subtotal la casetă listă

3. Apoi apasa OK, liniile subtotale au fost inserate între diferitele produse, iar simbolurile conturului sunt afișate în stânga tabelului, a se vedea captura de ecran:

4. Și apoi faceți clic pe numărul 2 din partea de sus a simbolului contur pentru a afișa doar liniile subtotale.

5. Apoi selectați datele de subtotal și apăsați Alt +; comenzi rapide pentru a selecta numai rândurile vizibile, consultați captura de ecran:

6. După selectarea rândurilor vizibile, apăsați butonul Șterge tasta de pe tastatură și toate rândurile subtotale au fost eliminate.

7. Apoi faceți clic pe orice altă celulă și reveniți înapoi Date > Dezgrupează > Ștergeți conturul pentru a elimina contururile, consultați captura de ecran:

8. Simbolurile de contur au fost șterse simultan și puteți vedea rânduri goale care au fost inserate între date atunci când valoarea se modifică, consultați captura de ecran:

9. În cele din urmă, puteți șterge coloana A după cum aveți nevoie.


Introduceți întrerupere de pagină, rânduri goale, margine de jos sau culoare de umplere atunci când valoarea se schimbă rapid

Dacă aveţi Kutools pentru Excel's Distingeți diferențele caracteristică, puteți insera rapid întreruperi de pagină, rânduri goale, margine de jos sau culoare de umplere atunci când valoarea se modifică după cum aveți nevoie. Vedeți demo-ul de mai jos.         Faceți clic pentru a descărca Kutools pentru Excel!


Introduceți rânduri goale atunci când valoarea se modifică cu coloanele de ajutor

Cu coloanele de asistență, puteți introduce mai întâi formula și apoi aplicați Găsiți și înlocuiți funcția, în cele din urmă, introduceți rândurile goale între valorile care se schimbă. Vă rugăm să faceți următoarele:

1. Într-o celulă goală C3, vă rugăm să introduceți această formulă = A3 = A2, iar în celula D4 introduceți această formulă = A4 = A3, vezi captura de ecran:

2. Apoi selectați C3: D4 și trageți mânerul de umplere peste intervalul pe care doriți să aplicați aceste formule și veți obține Adevărat or Fals în celule, vezi captura de ecran:

3. Și apoi apăsați Ctrl + F tastele pentru a deschide Găsiți și înlocuiți , în dialogul pop-out, introduceți FALS în Gaseste ce casetă text sub Găsi și faceți clic pe Opţiuni pentru a extinde acest dialog și alegeți Valori de la Uită-te în lista derulantă, vezi captura de ecran:

4. Clic Găsiți toate , apoi apăsați Ctrl + A pentru a selecta toate rezultatele găsirii, toate celulele FALSE au fost selectate simultan, vezi captura de ecran:

6. Inchide Găsiți și înlocuiți dialog, pasul următor, puteți insera rânduri goale făcând clic pe Acasă > Insera > Introduceți rândurile de foi, iar rândurile goale au fost inserate în date atunci când valoarea se modifică pe baza coloanei A, consultați capturi de ecran:

7. În cele din urmă, puteți șterge coloana de ajutor C și D după cum aveți nevoie.


Introduceți rânduri goale atunci când valoarea se modifică cu codul VBA

Dacă v-ați săturat să utilizați metodele de mai sus, iată un cod care vă poate ajuta, de asemenea, să inserați rânduri goale între valorile modificate simultan.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: introduceți rânduri goale atunci când valoarea se modifică

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. Apoi apăsați F5 tasta pentru a rula acest cod și se va afișa o casetă de prompt pentru a vă permite să selectați datele unei coloane pe care doriți să inserați rânduri goale atunci când se modifică valoarea pe care ați bazat, a se vedea captura de ecran:

4. Apoi faceți clic pe OK, rândurile goale au fost inserate între date când valoarea se modifică pe baza coloanei A.


Introduceți un anumit număr de rânduri goale atunci când valoarea se schimbă cu o caracteristică puternică

Dacă sunteți încercat cu metodele supărătoare de mai sus, aici, voi introduce un instrument util, Kutools pentru Excel's Distingeți diferențele vă poate ajuta să inserați pauză de pagină, rânduri goale, margine de jos sau culoare de umplere atunci când valoarea celulei se schimbă rapid și ușor.

Sfat:Pentru a aplica acest lucru Distingeți diferențele caracteristică, în primul rând, ar trebui să descărcați Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Clic Kutools > Format > Distingeți diferențele, vezi captura de ecran:

2. În Distingeți diferențele după coloana cheie caseta de dialog, vă rugăm să efectuați următoarele operații:

  • Selectați intervalul de date pe care doriți să îl utilizați, apoi alegeți coloana cheie pe care doriți să inserați rânduri goale pe baza;
  • Apoi verificați Rând gol opțiune de la Opţiuni și introduceți numărul de rânduri goale pe care doriți să le inserați.

3. Apoi apasa Ok și numărul specific de rânduri goale au fost inserate în date dacă se modifică valoarea celulei, consultați capturi de ecran:

Faceți clic pentru a descărca Kutools pentru Excel și încercare gratuită acum!

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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