Copiare righe e incollarle
Hai un problema con Excel? 
Copiare righe e incollarle
di Dida (utente non iscritto) data: 03/05/2010
Ciao a tutti,
ho un foglio di excel con circa 1000 righe, vorrei copiare ogni riga e inserirla sotto per 5 volte senza sovrascrivere la successiva, questo per tutte le 1000 righe. dovrei alla fine trovarmi con 6000 righe. non capisco come poter fare.
mi date un aiutino?
Sub CopiaRighe()
On Error GoTo Errorcatch
For r = 1 To Range("a1000").End(xlUp).Row
If Range("a" & r).Value <> "" Then
Rows("r:r").Select
Selection.Copy
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
Selection.Insert Shift:=xlDown
End If
Next r
Exit Sub
Errorcatch:
MsgBox Err.Description
End Sub |
di Locate (utente non iscritto) data: 04/05/2010
Ciao dida
ti posto la macro che farebbe al tuo caso da come tu ai esposto il problema, fai prima delle prove su una copia perche io jho provato con pochi valori ma penso che faccia al tuo caso
se ok fai sapere
ciao da locate
Sub copia()
Dim Riga_e, Riga_o
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
Cells(i, 1).Select
For a = 1 To 5
Selection.EntireRow.Insert
Next a
Next i
For e = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -6
Riga_e = e & ":" & e
Rows(Riga_e).Select
Selection.Copy
For o = e - 1 To e - 5 Step -1
Riga_o = o & ":" & o
Rows(Riga_o).Select
ActiveSheet.Paste
Next o
Next e
Application.CutCopyMode = False
Range("A1").Select
End Sub |
Incolonnare date
di Locate (utente non iscritto) data: 05/05/2010
Ciao dida
intanto saluto richy che ti a gia dato un appunto in un altro forum su questo lavoro per la macro e visto che ai posto una seconda richiesta per la stessa macro che ti ho postato se in precedenza davi indicazioni giuste ti avrei gia passato la macro che faceva il lavoro che tu dici sul riporto delle date in riga e riportarle tutte in colonna senza fare giri di macro inutilmente ma con questa che ti metto che fa il lavoro che tu desideri vedi esempio
prima--------
a1-- b1-- c1-- d1-- e1-- f1
a2-- b2-- c2-- d2-- e2-- f2
a3-- b3-- c3-- d3-- e3-- f3
a4-- b4-- c4-- d4-- e4-- f4
a5-- b5-- c5-- d5-- e5-- f5
dopo la macro
a1
b1
c1
d1
e1
f1
a2
b2
c2
d2
e2
f2
a3
b3
c3
d3
e3
f3
a4
b4
c4
d4
e4
f4
a5
b5
c5
d5
e5
f5
ciao da locate
Sub Incolonna()
Dim Cel_c
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
Cells(i, 1).Select
For a = 1 To 5
Selection.EntireRow.Insert
Next a
Next i
For e = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -6
colon = 1
For c = e - 5 To e Step 1
Cel_c = Cells(e, colon)
Cells(e, colon) = ""
Cells(c, 1) = Cel_c
colon = colon + 1
Next c
Next e
Range("A1").Select
End Sub |
di Dida (utente non iscritto) data: 06/05/2010
Grazie mille locate, la soluzione della duplicazione delle righe era la fase iniziale del problema ed è stata risolta benissimo dalla macro segnalata. io ho questo foglio che ha le righe composte da tante colonne: id, denominazione, via, data1, data2, data3, data4, importo1, importo2, importo3, importo4 che sto modificando per normalizzarle in un db. i campi data devono essere riportati come fa il tuo ultimo esempio su nuove righe ma i campi id e gli altri devono essere ripetuti a fianco in modo da non farmi perdere il riferimento univoco.
ora il tuo esempio mi traspone solo le prime 6 colonne ma è già un ottimo risultato. grazie tantissime
Vuoi Approfondire?