Skip to main content

Come duplicare righe in base al valore di una cella in una colonna?

Author: Xiaoyang Last Modified: 2025-08-06

Quando si lavora con tabelle dati di Excel, a volte potrebbe essere necessario duplicare intere righe in base a un valore in una colonna specifica. Ad esempio, immagina di avere una tabella in cui la colonna D indica un numero e il tuo obiettivo è copiare o inserire ogni riga tante volte quanto il valore della cella corrispondente nella colonna D. Questo può essere utile per espandere i dati, preparare set di dati per test, simulare inventari o generare righe d'ordine ripetute. Raggiungere questo obiettivo in modo efficiente senza ripetizioni manuali aiuta a mantenere l'integrità dei dati e velocizza notevolmente il flusso di lavoro, soprattutto per tabelle più grandi.

Screenshot showing data table with numbers in column D before duplicating rows based on values Arrow Screenshot showing data table after duplicating rows based on column D values in Excel

Duplicare righe più volte in base ai valori delle celle con codice VBA

Copia e inserisci righe in base a un numero specificato di volte con uno strumento pratico - Kutools per Excel

Duplicare righe tramite trasformazione Power Query


Duplicare righe più volte in base ai valori delle celle con codice VBA

Se hai bisogno di creare rapidamente copie di righe intere in base ai valori in una colonna specifica (ad esempio, nella colonna D), VBA offre una soluzione diretta ed efficiente. Questo approccio è particolarmente prezioso quando si gestiscono grandi set di dati, poiché automatizza il processo e aiuta a garantire precisione. Tuttavia, lavorare con VBA richiede una certa familiarità di base con la scheda Sviluppatore di Excel e una comprensione di come eseguire macro. Il principale vantaggio è la flessibilità: il codice può essere adattato per soddisfare diversi intervalli o colonne target. D'altra parte, se non ti senti a tuo agio con VBA o le politiche di sicurezza bloccano le macro nel tuo ambiente, prendi in considerazione una delle soluzioni alternative seguenti.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella finestra del Modulo.

Codice VBA: Duplicare righe più volte in base al valore della cella:

Sub CopyData()
'Updateby Extendoffice
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. Quindi premi il tasto F5 per eseguire questo codice. Le righe intere verranno duplicate più volte in base al valore della cella nella colonna D, corrispondendo alle tue esigenze.

Nota: Nel codice sopra, la lettera A rappresenta la prima colonna dell'intervallo di dati selezionato, e D è la lettera della colonna utilizzata per il numero di duplicazioni. Modifica queste lettere secondo necessità per adattarle al tuo foglio di lavoro. Prima di eseguire le macro, ricorda di fare un backup della cartella di lavoro, poiché le operazioni delle macro non possono essere annullate. Se appare un messaggio di errore, verifica che l'intervallo di dati selezionato e le colonne target siano coerenti.

Copia e inserisci righe in base a un numero specificato di volte con uno strumento pratico - Kutools per Excel

Se preferisci un metodo senza utilizzare codice, o desideri un'interfaccia utente amichevole per gestire la duplicazione in batch, Kutools per Excel offre una soluzione pratica. La sua funzionalità Copia o Inserisci Righe/Colonne in Base ai Dati Specificati permette di copiare e inserire righe rapidamente in base al numero indicato nelle celle rilevanti. Questo è ideale per chi gestisce regolarmente tali operazioni ripetitive di righe e ha bisogno di un processo più visuale e personalizzabile. Durante la duplicazione, Kutools mantiene il layout e la formattazione della tabella originale, riducendo il rischio di errori accidentali. Questo metodo funziona perfettamente indipendentemente dalla tua esperienza con VBA e migliora significativamente l'efficienza per intervalli di dati medi o grandi.

Kutools per Excel offre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza. Integrato con capacità di intelligenza artificiale, Kutools automatizza le attività con precisione, rendendo la gestione dei dati senza sforzo. Informazioni dettagliate su Kutools per Excel... Prova gratuita...
  1. Clicca su Kutools > Inserisci > Copia o Inserisci Righe/Colonne in Base ai Dati Specificati per attivare questa funzionalità;
  2. Quindi, scegli l'opzione Copia e inserisci righe, e specifica separatamente le celle dell'Intervallo di inserimento e Numero di Ripetizioni nella finestra di dialogo. Conferma le tue scelte e clicca OK.

Screenshot of Kutools for Excel Duplicate Rows/Columns feature dialog box


Duplicare righe tramite trasformazione Power Query

Power Query fornisce una soluzione robusta e ripetibile per duplicare righe in base al valore di una colonna—ideale per tabelle più grandi o quando è necessario aggiornare frequentemente i dati. Utilizzando questo strumento, puoi espandere le righe in base a indicatori numerici senza formule o codice. Questo metodo funziona bene per gli utenti che desiderano un processo visivamente spiegabile, passo dopo passo, e hanno bisogno di ripetibilità con aggiornamenti futuri dei dati.

1. Aggiungi i tuoi dati a una Tabella Excel (seleziona l'intervallo e premi Ctrl+T). Vai su Dati > Da Tabella/Intervallo per caricare la tua tabella in Power Query.

2. Nell'Editor di Power Query, seleziona la scheda Aggiungi Colonna e clicca su Colonna Personalizzata.

3. Digita la seguente formula per generare una lista per ogni riga in base al valore nella colonna D. ( Nota: Dovresti sostituire [D] con il nome effettivo della tua intestazione di colonna. Ad esempio, qui selezionerò i Tempi di Duplicazione e cliccherò sul pulsante Inserisci per sostituire l'argomento [D].)

List.Repeat({1}, [D])

set options in the Power Query Editor

4. Clicca sul pulsante Espandi accanto alla nuova colonna personalizzata e clicca su Espandi a Nuove Righe.

Click the Expand button

5. Quindi, puoi vedere che i dati sono stati duplicati in base ai valori nella colonna D, vedi screenshot:

the data has been duplicated based on the values

6. Rimuovi le colonne di supporto se necessario, e clicca su Chiudi & Carica per riportare i dati in Excel.

Suggerimenti: Ogni volta che i dati di origine cambiano, basta aggiornare l'output di Power Query per aggiornare automaticamente le righe ripetute. Questo garantisce efficienza e precisione per processi di dati continui o automatizzati. Power Query è integrato in Excel 2016 e versioni successive ed è disponibile come componente aggiuntivo gratuito nelle versioni precedenti. Se la tua versione di Excel non ha Power Query o non puoi creare query, considera l'utilizzo di una delle soluzioni con formule o VBA menzionate sopra.

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!