Domanda:
avendo un elenco di quasi 2000 righe una attaccata all’altra, ho bisogno di una Macro che fra una righe e un altra mi copi la riga sovrastante. Ad esempio, partendo da:
colonnaA colonnaB
federico rossi
luca bianchi
diventi:
colonnaA colonnaB
federico rossi
federico rossi
luca bianchi
luca bianchi
Risposta:
Per ottenere il risultato voluto copia nel tuo file il seguente codice:
Public Sub DuplicaRighe() Application.ScreenUpdating = False Last_Row = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row For i = Last_Row To 2 Step -1 Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range(Cells(i + 1, 1), Cells(i + 1, 2)).Copy Range(Cells(i, 1), Cells(i, 2)).Select ActiveSheet.Paste Next i Rows(2).RowHeight = Rows(3).RowHeight Application.CutCopyMode = False Range("A1").Select Application.ScreenUpdating = True MsgBox "Fatto!", vbInformation End Sub
In allegato il file d’esempio
Riccardo Vincenti
The following two tabs change content below.
Riccardo Vincenti
Ultimi post di Riccardo Vincenti (vedi tutti)
- 073. Duplicare righe excel modificando il contenuto - 6 Ottobre 2017
- 072. Estrazione numeri casuali - 6 Ottobre 2017
- 071. Estrazione casuale valori da un elenco - 5 Ottobre 2017
- 070. Contare dati univoci senza Pivot - 21 Settembre 2017
- 069. Aggiungere intervalli ad una data: Date Add in Excel - 21 Settembre 2017
E se le celle da copiare al posto di essere su due colonne fossero su 13? Ad esempio se avessi colonna A B C D ecc fino alla 13esima colonna, come dovrei fare?? Xkè nel vostro esempio mi copia solo le prime due celle e la restanti me le lascia bianche
Per incrementare il numero delle colonne dalle 2 del suo esempio alle prime 13 del file da lei utilizzato
può modificare il codice nel seguente modo:
DA
Range(Cells(i + 1, 1), Cells(i + 1, 2)).Copy
Range(Cells(i, 1), Cells(i, 2)).Select
A
Range(Cells(i + 1, 1), Cells(i + 1, 13)).Copy
Range(Cells(i, 1), Cells(i, 13)).Select
Riccardo
buongiorno!
è possibile modificare la macro in modo che una volta selezionata una sola riga, questa venga copiata ed incollata nella riga sotto (senza sovrascrivere la riga sotto)?
grazie
alessia
Salve Riccardo,
è possibile invece definire quante volte duplicare la riga?
Ad esmpio:
Mario Rossi
Giovanni Verdi
Federico Gialli
duplicarlo ad esempi 4 volte
Mario Rossi
Mario Rossi
Mario Rossi
Mario Rossi
Giovanni Verdi
Giovanni Verdi
Giovanni Verdi
Giovanni Verdi
Federico Gialli
Federico Gialli
Federico Gialli
Federico Gialli
Grazie mille