Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Connetti
x
or
x
x
Registratevi
x

or

Come inserire righe vuote quando il valore cambia in Excel?

Supponendo di disporre di un intervallo di dati e ora si desidera inserire righe vuote tra i dati quando il valore cambia, in modo da poter separare gli stessi valori sequenziali in una colonna come mostrato nelle schermate seguenti. In questo articolo, parlerò di alcuni trucchi per voi per risolvere questo problema.

Inserisci righe vuote quando il valore cambia con la funzione Subtotale

Inserisci righe vuote quando il valore cambia con le colonne helper

Inserisci righe vuote quando il valore cambia con il codice VBA

Inserisci un numero specifico di righe vuote quando il valore cambia con una potente funzionalità


Inserisci interruzione di pagina, righe vuote, bordo inferiore o colore di riempimento quando il valore cambia rapidamente

Se si dispone di Kutools for Excel's Distingua le differenze caratteristica, è possibile inserire rapidamente interruzioni di pagina, righe vuote, bordo inferiore o colore di riempimento quando il valore cambia di cui hai bisogno. Vedi la demo qui sotto. Fai clic per scaricare Kutools per Excel!


Inserisci righe vuote quando il valore cambia con la funzione Subtotale

Con il Totale funzione, è possibile inserire righe vuote tra i dati quando il valore cambia come segue:

1. Seleziona l'intervallo di dati che desideri utilizzare.

2. Clic dati > Totale per aprire il Totale finestra di dialogo e in Totale finestra di dialogo, si prega di fare le seguenti opzioni:

1: Seleziona il nome della colonna in cui vuoi inserire le righe vuote in base a quando il valore cambia sotto Ad ogni cambio nella sezione;
2: Scegli Contare dal Utilizzare la funzione menu `A tendina;
3: Controllare il nome della colonna in cui si desidera inserire il totale parziale in Aggiungi subtotale a casella di riepilogo

3. Quindi fare clic OK, le linee di subtotale sono state inserite tra i diversi prodotti e i simboli di contorno sono visualizzati alla sinistra della tabella, vedi screenshot:

4. Quindi fare clic sul numero 2 nella parte superiore del simbolo di struttura per visualizzare solo solo le linee di subtotale.

5. Quindi selezionare i dati dell'intervallo di subtotale e premere Alt +; tasti di scelta rapida per selezionare solo le righe visibili, vedi screenshot:

6. Dopo aver selezionato solo le righe visibili, premere il tasto Cancella tasto sulla tastiera, e tutte le righe di subtotale sono state rimosse.

7. Quindi fai clic su un'altra cella e torna indietro dati > Separa > Cancella profilo per rimuovere i contorni, vedi screenshot:

8. I simboli di struttura sono stati cancellati immediatamente e puoi vedere righe vuote inserite tra i dati quando il valore cambia, vedi screenshot:

9. Finalmente, puoi cancellare la colonna A come ti serve.


Inserisci righe vuote quando il valore cambia con le colonne helper

Con le colonne helper, è possibile inserire prima la formula e quindi applicare il Trova e sostituisci funzione, infine, inserire le righe vuote tra i valori che cambiano. Si prega di fare come segue:

1. In una cella vuota C3, inserisci questa formula = = A3 A2e nella cella D4 inserire questa formula = = A4 A3, vedi screenshot:

2. Quindi selezionare C3: D4 e trascinare il quadratino di riempimento sull'intervallo per il quale si desidera applicare queste formule e si otterrà Vero or Falso nelle celle, vedi screenshot:

3. E poi premere Ctrl + F chiavi per aprire il Trova e sostituisci finestra di dialogo, nella finestra di dialogo spuntato, immettere FALSO nella Trova quello che casella di testo sotto Trova scheda e fare clic Opzioni pulsante per espandere questa finestra di dialogo e scegliere Valori dal Guarda dentro menu a discesa, vedi screenshot:

4. Clic Trova tutto pulsante, quindi premere Ctrl + A per selezionare tutti i risultati della ricerca, tutte le celle FALSE sono state selezionate contemporaneamente, vedi screenshot:

6. Chiudi il Trova e sostituisci finestra di dialogo, passaggio successivo, è possibile inserire righe vuote facendo clic Home > inserire > Inserisci righe di foglie le righe vuote sono state inserite nei dati quando il valore cambia in base alla colonna A, vedi schermate:

7. Infine, puoi eliminare la colonna helper C e D di cui hai bisogno.


Inserisci righe vuote quando il valore cambia con il codice VBA

Se sei stanco di usare i metodi precedenti, ecco un codice che può aiutarti a inserire righe vuote tra i valori modificati contemporaneamente.

1. Tenere premuto il tasto ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic per applicazioni.

2. Clic inserire > Moduloe incollare il seguente codice nel Finestra del modulo.

Codice VBA: inserisci righe vuote quando il valore cambia

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. Quindi premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di prompt per consentire di selezionare i dati di una colonna in cui si desidera inserire righe vuote quando si modifica il valore su cui si basava, vedere screenshot:

4. E poi clicca OK, le righe vuote sono state inserite tra i dati quando il valore cambia in base alla colonna A.


Inserisci un numero specifico di righe vuote quando il valore cambia con una potente funzionalità

Se vieni provato con i metodi di cui sopra, qui presenterò uno strumento utile, Kutools for Excel's Distingua le differenze può aiutarti a inserire interruzioni di pagina, righe vuote, bordo inferiore o colore di riempimento quando il valore della cella cambia rapidamente e facilmente.

Suggerimenti:Per applicare questo Distingua le differenze funzione, in primo luogo, è necessario scaricare il Kutools for Excele quindi applicare la funzione rapidamente e facilmente.

Dopo l'installazione Kutools for Excel, per favore fai come questo:

1. Clic Kutools > Formato > Distingua le differenze, vedi screenshot:

2. Nel Distingua le differenze per colonna chiave finestra di dialogo, eseguire le seguenti operazioni:

  • Selezionare l'intervallo di dati che si desidera utilizzare, quindi scegliere la colonna chiave su cui si desidera inserire righe vuote in base;
  • Quindi controlla Fila vuota opzione dal Opzioni e inserisci il numero di righe vuote che desideri inserire.

3. Quindi fare clic Ok pulsante e il numero specifico di righe vuote sono state inserite nei dati se il valore della cella cambia, vedi schermate:

Fai clic per scaricare Kutools per Excel e prova gratuita ora!


Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 30-day.
kte tab 201905

Scheda Office Porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Hassan · 11 months ago
    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??
    • To post as a guest, your comment is unpublished.
      skyyang · 11 months ago
      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
      • To post as a guest, your comment is unpublished.
        DCalk · 10 months ago
        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.
  • To post as a guest, your comment is unpublished.
    Suzi · 1 years ago
    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?
  • To post as a guest, your comment is unpublished.
    Eric F · 1 years ago
    The VBA code worked 1st time and did exactly what I was trying to do. Thank you so much!
  • To post as a guest, your comment is unpublished.
    Steve · 1 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Madhur · 2 years ago
    [quote name="Hudson"]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.[/quote]

    Please let me know how to insert more than 1 row.
  • To post as a guest, your comment is unpublished.
    Davis · 2 years ago
    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???
  • To post as a guest, your comment is unpublished.
    Hudson · 3 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Rafael · 3 years ago
    Where in the code would I need to modify to include more than one row, I need to add 10 after each break...

    Thanks
  • To post as a guest, your comment is unpublished.
    Ivo Tamm · 3 years ago
    Thank you very much for describing multiple solutions for the problem.
    I used the Visual Basic one and changed
    [quote]WorkRng.Cells(i, 1).EntireRow.Insert[/quote] with
    [quote]With WorkRng.Cells(i, 1).EntireRow.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlMedium
    End With[/quote]
    This will draw lines between rows with changing values instead of empty lines.
  • To post as a guest, your comment is unpublished.
    Saul · 4 years ago
    Thank you so much, looked everywhere and this was the only solution that worked for me that was also in plain english.

    All the other Excel tutorial websites didn't break it down step-by-step they way you did, thank you very much.

    cheers : )
  • To post as a guest, your comment is unpublished.
    Abner · 4 years ago
    I have a column with the numbers 5,4,3,2 and 1 (a LOT of them) and I wanna separate the Fives from the others, like:

    5
    5
    5

    4
    3
    2
    1

    5
    5
    5
    5
    5

    4
    3
    2
    1

    The numbers are in desc order and there are always a four below a five,
    so I tried:

    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
    For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value = 5 And WorkRng.Cells(i - 1, 1).Value = 4 Then
    WorkRng.Cells(i, 1).EntireRow.Insert
    End If
    Next
    Application.ScreenUpdating = True
    End Sub

    But it didn't work. Can you help me?