Macro para insertar fila según valor de una celda

Tengo dos columnas F Y G

F TIENE mis Datos y G tiene las veces que quiero insertar una fila con la Informacion de toda la fila de F

Franja Row

F01 0

F02 2

Lo que deberia quedar

F01 0

F02

F02

Y asi sucesivamente hasta encontrar una celda ""

1 respuesta

Respuesta
1

No me queda claro el ejemplo, Puedes poner un par de ejemplos con uno y con tres en la columna G

Prueba la siguiente macro

Sub insertar()
'Por.DAM
For i = Range("F" & Rows.Count).End(xlUp).Row To 1 Step -1
    If Cells(i, "G") > 1 Then
        Rows(i & ":" & i).Copy
        Rows(i & ":" & i + (Cells(i, "G") - 2)).Insert Shift:=xlDown
    End If
Next
Application.CutCopyMode = False
End Sub

Buen dia,

Disculpe que no Fui tan claro, olvidemos la columna F

seria básicamente lo siguiente.

para la columna G

hay 3 datos 0, 1, 2

digamos que la Fila 2 en la columna G nos pone 2 tendríamos que copiar dicha fila 2 y copiarla e insértala 2 veces

esto se debe repetir hasta que en la columna G no haya Datos.

Saludos por su pronta respuesta

¿Si hay un 2 se debe copiar 2 veces? ¿Entonces van a quedar tres filas iguales?

¿Si hay un 1 se debe copiar 1 vez? ¿Entonces van a quedar 2 filas iguales?

¿Probaste la macro que te envié?

Prueba la macro que te envié, si no es lo que necesitas cambia esta línea

Rows(i & ":" & i + (Cells(i, "G") - 2)).Insert Shift:=xlDown

Por esta

Rows(i & ":" & i + (Cells(i, "G") - 1)).Insert Shift:=xlDown

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas