Macro Excel para pegar un valor 3 veces

En la Hoja1 de Excel tengo lo siguiente:

              A                          B                     

1         FA1                      5000

2         FA2                      6000

En la otra hoja al ejecutar la macro debería quedar:

               A                             B

1             FA1                      5000

2             FA1                      5000                   

3             FA1                      5000

4             FA2                      6000

5             FA2                      6000

6             FA2                      6000

2 Respuestas

Respuesta
1

En la hoja1 colocas la cantidad de veces que quieras que la línea se repita en la columna DE, ejecutas la amcro y en la hoja2 tendrás el resultado que buscas

y esta es la macro

Sub copiar_nveces()
Set h1 = Worksheets("hoja1")
Set h2 = Worksheets("hoja2")
Set origen = h1.Range("a1").CurrentRegion
h2.Cells.Clear
With origen
    r = .Rows.Count
    For i = 1 To r
        veces = .Cells(i, 4)
        If i = 1 Then
            Set destino = h2.Range("a1").Resize(veces, 3)
            destino.Value = origen.Rows(i).Value
        Else
            Set destino = destino.CurrentRegion
            rd = destino.Rows.Count
            destino.Rows(rd + 1).Resize(veces).Value = origen.Rows(i).Value
        End If
    Next i
End With
Set h1 = Nothing: Set h2 = Nothing
Set origen = Nothing: Set destino = Nothing
End Sub

Muchas gracias por la respuesta James,

Te quería consultar si es posible, en vez de que digiten la cantidad de veces que se repite el valor tres veces, es posible configurar esto desde la macro.

Buen día James,

Te quería consultar si es posible, en vez de que digiten la cantidad de veces que se repite el valor tres veces, es posible configurar esto desde la macro.

Quedo atento y muchas gracias por tu ayuda.

si siempre va a ser 3 solo cambia esta linea veces=.cells(i,4) por esta veces=3

Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas