Come inserire una riga vuota ogni x righe?

Hai bisogno di inserire una riga vuota ogni 2 o 3 righe in Excel?

In questo articolo ti mostro due metodi facili per farlo: uno completamente manuale (niente codice) e uno tramite macro VBA.

Ti propongo anche un terzo metodo applicabile solo quando l’elenco è composto da una sola colonna. Sfrutta la nuova funzione A.COL

Metodo 1 – con Ordinamento (senza macro)

Questo metodo consiste nel creare un indice, duplicarlo e poi ordinare rispetto all’indice. Di seguito i passaggi:

  1. Aggiungi una colonna con numeri progressivi (1, 2, 3, …)
  2. Copia tutte le righe e incollale subito sotto (creando un duplicato)
  3. Ordina l’intera tabella in base a questa colonna
  4. Elimina la colonna indice

Ecco il dettaglio dei passaggi

1. Aggiungi una colonna con numeri progressivi (1, 2, 3, …)

Scrivi 1 e 2. Seleziona entrambi. Doppio clic sul quadratino inferiore destro della cella contenente il 2.

Ottieni così l’indice:

creazione indice completo

2. Copia tutte le righe e incollale subito sotto (creando così un duplicato)

Copia le celle dell’indice. Posizionati nella prima cella vuoto sotto all’ultimo numero. Incolla gli stessi numeri.

copia dell'indice

3. Ordina l’intera tabella in base a questa colonna

ordina dati con indice

Questo il risultato finale:

elenco righe vuote risultato finale

4. Elimina la colonna indice

Puoi eliminare la colonna con l’indice (colonna D dell’esempio).

E se dovessimo inserire più di una riga vuota? Nel punto 2 sarebbe sufficiente incollare più volte le celle con i numeri dell’indice.

indice triplo

Metodo 2 – con una macro VBA

Crea una macro e riutilizzala ogni volta che vuoi inserire le righe vuote. Ti riporto il codice e poi ti elenco i passaggi utili per poter inserire il codice in Excel.

Sub InserisciRigheOgniX()
    Dim x As Integer
    Dim ultimaRiga As Long
    Dim i As Long

    x = 2 ' Riga da cui iniziare (cambia questo valore come preferisci)
    ultimaRiga = Cells(Rows.Count, 1).End(xlUp).Row

    For i = ultimaRiga To 1 Step -1
        If i Mod x = 0 Then
            Rows(i + 1).Insert Shift:=xlDown
        End If
    Next i
End Sub

Come inserire il codice in Excel:

  1. Premi ALT + F11 per aprire l’editor VBA.
  2. Inserisci un nuovo modulo (Inserisci > Modulo).
  3. Incolla il codice.
  4. Salva e chiudi l’editor
  5. Per eseguirla premi ALT + F8, seleziona la macro e fai clic su Esegui

E se le righe da inserire dovessero essere più di una? Ipotizziamo 3? Il codice sarebbe leggermente diverso:

Sub InserisciRigheOgniX()
    Dim x As Integer
    Dim ultimaRiga As Long
    Dim i As Long

    x = 2 ' Riga da cui iniziare (cambia questo valore come preferisci)
    ultimaRiga = Cells(Rows.Count, 1).End(xlUp).Row

    For i = ultimaRiga To 1 Step -1
        If i Mod x = 0 Then
            ' Inserisce 3 righe vuote
            For j = 1 To 3
                Rows(i + 1).Insert Shift:=xlDown
            Next j
        End If
    Next i
End Sub

Metodo 3 (solo per colonna singola) – con funzione A.COL

Se hai una versione recente di Excel, come la 365, potresti sfruttare la funzione A.COL.

Questa funzione trasferisce in una sola colonna le righe di un elenco.

Selezionando i dati di partenza e le celle vuote accanto…

…otteniamo questo risultato:

Come evitare gli zeri? Si potrebbe prima modificare la prima cella vuota inserendo un apice e trascinare poi la cella su quelle sottostanti.

inserimento apice

Questo sarebbe il risultato:

Dovremo poi copiare ed incollare come valori la colonna.