[Ajuda] Copiar linha completa X vezes.
Enviado: 25 Jul 2017 às 15:11
Boas pessoal, eu estou a construir um Excel que me copia a linha o número de vezes o valor de uma célula dessa linha. O valor de vezes que eu quero que copie é o valor que esta na coluna C de determinada linha, sendo que pretendo que esse valor seja copiado para uma folha nova.
O código que eu tenho é o seguinte:
Private Sub CommandButton1_Click()
Dim lr As Long, lr2 As Long, r As Long
lr = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For r = lr To 2 Step -1
If Range("C" & r).Value = "1" Then
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 1)
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
End If
If Range("C" & r).Value = "2" Then
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 1)
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 2)
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
End If
Next r
End Sub
O problema surge quando o valor dessa célula é um numero grande do género 40, pois fazer isto até 40 é muito maçador e o código vai ficar muito extenso, alguém me consegue criar um ciclo para isto??
Valeu, Abraço
O código que eu tenho é o seguinte:
Private Sub CommandButton1_Click()
Dim lr As Long, lr2 As Long, r As Long
lr = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
For r = lr To 2 Step -1
If Range("C" & r).Value = "1" Then
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 1)
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
End If
If Range("C" & r).Value = "2" Then
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 1)
Rows(r).Copy Destination:=Sheets("Sheet2").Range("A" & lr2 + 2)
lr2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
End If
Next r
End Sub
O problema surge quando o valor dessa célula é um numero grande do género 40, pois fazer isto até 40 é muito maçador e o código vai ficar muito extenso, alguém me consegue criar um ciclo para isto??
Valeu, Abraço