Macro para copiar n cantidad de filas en otro hoja de acuerdo a n cantidades según numero indicado en columnas

Su apoyo en lo siguiente.

Tengo en una hoja lo siguiente:

2 a

3 b

1 c

2 f

Quisiera que otra hoja apareciera de la siguiente manera

2 a

2 a

3 b

3 b

3 b

1 c

2 f

2 f

1 respuesta

Respuesta
2

Prueba con esta macro, solo cambia la hoja2 y hoja3 por el nombre de las hojas que estés usando y el range b3 por la celda donde comiencen los datos que quieres copiar

Sub copiar()
Set h2 = Worksheets("hoja2")
Set h3 = Worksheets("hoja3")
Set datos = h2.Range("b3").CurrentRegion
With datos
    suma = WorksheetFunction.Sum(.Columns(1))
    For i = 1 To .Rows.Count
        veces = .Cells(i, 1)
        If i = 1 Then Set destino = h3.Range("a2").Resize(veces, .Columns.Count)
        If i > 1 Then
        With destino
            Set destino = .CurrentRegion
            Set destino = .Rows(.Rows.Count + 1).Resize(veces, .Columns.Count)
        End With
        End If
        destino.Value = .Rows(i).Value
    Next i
End With
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas