Come duplicare le righe in base al valore della cella in una colonna?
Quando si lavora con tabelle di dati in Excel, a volte può essere necessario duplicare intere righe in base a un valore presente 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 indicato dal valore corrispondente nella colonna D. Questo può essere utile per espandere i dati, preparare set di dati per i test, simulare inventari o generare linee d'ordine ripetute. Raggiungere questo obiettivo in modo efficiente senza ricorrere a ripetizioni manuali aiuta a mantenere l'integrità dei dati e accelera notevolmente il flusso di lavoro, soprattutto per tabelle più grandi.
![]() | ![]() | ![]() |
Duplicare le righe più volte in base ai valori delle celle con il codice VBA
Duplicare le righe tramite trasformazione Power Query
Duplicare le righe più volte in base ai valori delle celle con il codice VBA
Se hai bisogno di creare rapidamente duplicati di intere righe in base ai valori di 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 vantaggio principale è la flessibilità: il codice può essere adattato per adattarsi a 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 riportate di seguito.
1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.
2. Clicca su Inserisci > Modulo e incolla il seguente codice nella finestra del Modulo.
Codice VBA: Duplica 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, soddisfacendo i tuoi requisiti.
Copia e inserisci righe in base a un numero specifico di volte con uno strumento pratico - Kutools per Excel
Se preferisci un metodo senza usare codice, oppure desideri un'interfaccia utente amichevole per gestire la duplicazione in batch, Kutools per Excel offre una soluzione pratica. La sua funzione Copia o Inserisci Righe/Colonne in Base ai Dati Specificati ti permette di copiare e inserire righe rapidamente in base al numero specificato nelle celle pertinenti. Questo è ideale per coloro che gestiscono regolarmente tali operazioni ripetitive di righe e hanno bisogno di un processo più visivo e personalizzabile. Kutools mantiene il layout e la formattazione della tabella originale durante la duplicazione, riducendo il rischio di errori accidentali. Questo metodo funziona senza problemi indipendentemente dalla tua esperienza con VBA e migliora significativamente l'efficienza per intervalli di dati medi o grandi.
- Clicca su Kutools > Inserisci > Copia o Inserisci Righe/Colonne in Base ai Dati Specificati per abilitare questa funzione;
- 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.
Duplicare le 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 vogliono un processo passo-passo visivamente spiegabile e hanno bisogno di ripetibilità con aggiornamenti futuri dei dati.
1. Aggiungi i tuoi dati a una Tabella di Excel (seleziona 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 reale della colonna. Ad esempio, qui selezionerò i Tempi di Duplicazione e cliccherò sul pulsante Inserisci per sostituire l'argomento [D].)
List.Repeat({1}, [D])
4. Clicca sul pulsante Espandi accanto alla nuova colonna personalizzata e clicca su Espandi in Nuove Righe.
5. Quindi, puoi vedere che i dati sono stati duplicati in base ai valori nella colonna D, vedi screenshot:
6. Rimuovi le colonne di supporto se necessario e clicca su Chiudi & Carica per riportare i dati in Excel.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. 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 in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede 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 riduce centinaia di clic del mouse ogni giorno!