
Multiples copias filas con contenido con numeracion de copias
Publicado por Juan (2 intervenciones) el 27/02/2023 14:12:21
Hola, me gustaría hacer que una hoja de excel se copiaran todas las filas con datos un numero de veces según el valor de un mensaje y además el numero de copias se numeraran en una columna en otra hoja del mismo libro.
Añado la imagen del antes y el después que me gustaría tener.
Hasta ahora he conseguido que compruebe el contenido de la hoja, lo copie y lo pegue en otra hoja pero no que se copie la cantidad de veces (Ni que se numeren las copias. Espero que alguien me puede ayudar, añado mi código
Sub Copiar_Filas()
'inicializo la variable j
j = 2
UltimaFila = Cells(Rows.Count, 2).End(xlUp).Row
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Copias de Kits", "Total de copias", , , , , , 1)
If xCount < 1 Then
MsgBox "Cantidad de copias insuficiente ,intentar de nuevo", vbInformation, "Zfoam"
GoTo LableNumber
End If
'comienzo el bucle
For I = 2 To UltimaFila
'activo la hoja donde están mis datos
Sheets("Datos").Activate
'compruebo que el valor de la fecha es mayor que 30
If Cells(I, "B").Value <> 0 Then
'copio la fila entera
Range(Cells(I, "A"), Cells(I, "E")).Copy
'selecciono la hoja donde quiero pegar y después la celda
Sheets("Filtro").Activate
Cells(j, "A").Select
'pego la fila que hemos copiado
Rows(I).Resize(xCount).Insert
'aumento la variable j para que vaya a la siguiente fila de la hoja filtros
'cuando encuentre una nueva fila que cumple con la condición de edad
j = j + 1
End If
Next
End Sub


Añado la imagen del antes y el después que me gustaría tener.
Hasta ahora he conseguido que compruebe el contenido de la hoja, lo copie y lo pegue en otra hoja pero no que se copie la cantidad de veces (Ni que se numeren las copias. Espero que alguien me puede ayudar, añado mi código
Sub Copiar_Filas()
'inicializo la variable j
j = 2
UltimaFila = Cells(Rows.Count, 2).End(xlUp).Row
Dim xCount As Integer
LableNumber:
xCount = Application.InputBox("Copias de Kits", "Total de copias", , , , , , 1)
If xCount < 1 Then
MsgBox "Cantidad de copias insuficiente ,intentar de nuevo", vbInformation, "Zfoam"
GoTo LableNumber
End If
'comienzo el bucle
For I = 2 To UltimaFila
'activo la hoja donde están mis datos
Sheets("Datos").Activate
'compruebo que el valor de la fecha es mayor que 30
If Cells(I, "B").Value <> 0 Then
'copio la fila entera
Range(Cells(I, "A"), Cells(I, "E")).Copy
'selecciono la hoja donde quiero pegar y después la celda
Sheets("Filtro").Activate
Cells(j, "A").Select
'pego la fila que hemos copiado
Rows(I).Resize(xCount).Insert
'aumento la variable j para que vaya a la siguiente fila de la hoja filtros
'cuando encuentre una nueva fila que cumple con la condición de edad
j = j + 1
End If
Next
End Sub
Valora esta pregunta


0