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

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 Acasa > 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 Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

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!
fundul officetab
Comentarii (16)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am o coloană cu numerele 5,4,3,2 și 1 (multe dintre ele) și vreau să îi separ pe Cinci de celelalte, cum ar fi: 5 5 5 4 3 2 1 5 5 5 5 5 4 3 2 1 Numerele sunt în ordinea descrierii și există întotdeauna un patru sub cinci, așa că am încercat: Sub InsertRowsAtValueChange() 'Update 20140716 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 Pentru i = WorkRng.Rows.Count To 2 Step -1 Dacă WorkRng.Cells(i, 1). Valoare = 5 și WorkRng.Cells(i - 1, 1).Value = 4 Apoi WorkRng.Cells(i, 1).EntireRow.Insert End If Next Application.ScreenUpdating = True End Sub Dar nu a funcționat. Ma poti ajuta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Formula funcționează excelent, totuși există câteva exemple în care nu recunoaște
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult, m-am uitat peste tot și aceasta a fost singura soluție care a funcționat pentru mine, care era și în limba engleză simplă. Toate celelalte site-uri web de tutoriale Excel nu l-au defalcat pas cu pas, așa cum ați făcut dumneavoastră, vă mulțumesc foarte mult. noroc : )
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumesc foarte mult pentru că ați descris mai multe soluții pentru problemă. L-am folosit pe cel Visual Basic și am schimbat [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] cu [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 0 .Weight = xlMedium End With[/quote] Acest lucru va desena linii între rânduri cu valori în schimbare în loc de linii goale.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Unde în cod ar trebui să modific pentru a include mai mult de un rând, trebuie să adaug 10 după fiecare pauză... Mulțumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna tuturor multumesc!! este minunat, mă puteți lăsa și cum să inserez 2 rânduri atunci când valoarea se schimbă în VBA sau prin Excel.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, acestea sunt aproape utile! Prima metodă nu funcționează pentru mine, deoarece, atunci când urmez pașii în mod explicit, datele pe care le șterg din panourile de subtotal șterg toate coloanele pe care le-am sortat. În a doua metodă, când ajung la pasul în care inserez rânduri de foi, rândurile sunt inserate DEPASSA celulelor FALSE, ceea ce descompune datele, dar ultima selecție a fiecărui grup este apoi adăugată la grupul de mai jos. Vreun sfat???
Acest comentariu a fost redus la minimum de moderatorul de pe site
[quote]Bună tuturor, mulțumesc!! este minunat, mă puteți lăsa și cum să inserez 2 rânduri atunci când valoarea se schimbă în VBA sau prin Excel.de Hudson[/quote] Vă rog să-mi spuneți cum să inserez mai mult de 1 rând.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Folosesc propria mea soluție de ceva timp.
1. Introduceți o coloană de ajutor în coloana A
2. În A2, tastați „dacă(B2=B1,A1,A1+1)”
3. Copiați acea formulă în ultimul rând
4. Copiați toate celulele populate din coloana A și Lipiți special (Valori) peste ele
5. Copiați din nou toate celulele și inserați-le în coloana A din prima celulă nepopulată (de exemplu, dacă aveți 104 rânduri de date plus un rând de antet, ați lipi în celula A106)
6. Faceți clic pe Date și Eliminați duplicatele (numai pe celulele pe care tocmai le-ați lipit la Pasul 5; nu pe toate rândurile)
7. Sortați toată coloana A
8. Ștergeți coloana A

Par o mulțime de pași, dar durează doar câteva secunde.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Codul VBA a funcționat pentru prima dată și a făcut exact ceea ce încercam să fac. Mulțumesc foarte mult!
Acest comentariu a fost redus la minimum de moderatorul de pe site
RE: inserați rânduri goale când valoarea se schimbă cu codul vba
Există vreo modalitate prin care pot salva intervalul și nu trebuie să-l aleg de fiecare dată când îl rulez?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna,
Este foarte util în cazul în care trebuie să inserez 1 rând, dar dacă am nevoie să inserez 145 de rânduri de fiecare dată când datele se schimbă în coloana spwcific, cum pot face asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Hassan,
Pentru a insera mai multe rânduri goale atunci când valoarea se modifică într-o anumită coloană, ar trebui să aplicați următorul cod VBA:

Notă: În codul de mai jos, ar trebui să schimbați numărul 99 în funcție de nevoile dvs., de exemplu, atunci când introduceți 145 de rânduri goale, ar trebui să schimbați numărul 99 în 144. Vă rugăm să încercați, sper că vă poate ajuta!

Sub InsertRowsAtValueChange()
Dim Rng ca rază de acțiune
Dim WorkRng As Range
La data de eroare CV următoare
xTitleId = „KutoolsforExcel”
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox(„Range”, xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = Fals
Pentru i = WorkRng.Rows.Count To 2 Step -1
Dacă WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Atunci
Interval(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
Final, dacă
Pagina Următoare →
Application.ScreenUpdating = Adevărat
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Foarte util. Codul pe care skyyang îl arată mai sus a funcționat perfect. Doar asigurați-vă că datele nu au deja spații în ele.

Nu înțeleg VBA, dar cred că dacă doriți să adăugați mai multe rânduri sub datele care aveau deja spațierea, ar trebui să existe o modalitate de a ignora spațiile.

Ar putea fi adăugată o linie pentru a ignora sau a sări peste linii goale? Acest lucru ar putea face acest cod mai universal și mai repetabil dacă este necesar. De asemenea, o funcție de ștergere care este similară cu aceasta poate fi utilă, așa că anularea nu este necesară.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Poate fi adaptată metoda VBA pentru a ignora celulele goale? Am un fișier în care trebuie să inserez rânduri pe baza a două coloane diferite, dar când rulez macrocomandă pe a doua coloană, ajung cu trei linii goale în care prima macrocomandă rulează rânduri inserate.
Sau poate rula pe două coloane în același timp?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, Hassan,

Acest vba este uimitor, în timp ce am nevoie de încă un cod alternativ pentru a insera un singur rând gol după modificările numerelor de secvențiere. Exemplu: - În coloana care are serii de numere precum 1, 2, 3, 5, 6, 9 și etc...
Trebuie să adăugați un singur rând liber între 3 și 5, precum și 6 și 9.
Te rog poți cu asta.
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL