Repetir datos en una columna

Necesito su apoyo con para copiar un rango de datos de una columna y copiarla en la misma columna hasta llegar una celda vacía, me apoyo contando con los valores de otra columna para insertarla hasta que llegue el vació.

Inserto valores en las celdas K4 hasta la K6 y las empiezo a repetir desde la celda K7 y en la columna B tengo valores variables aveces 15 o 20 o mas nunca se sabe cuantos, necesito que los valores del rango (K4:K6) se vuelvan a repetir o copiar desde la celda K7 hasta contar el ultimo valor de la columna B

Range("K4") = "120101"
Range("K5") = "401112"
Range("K6") = "707011"
Range("K4:K6" & Range("K65000").End(xlUp).Row).Copy
Cells(7, 11).PasteSpecial Paste:=xlValue

1 Respuesta

Respuesta
1

Prueba con esta macro

Sub copiar_n_veces()
filas = Range("b1").CurrentRegion.Rows.Count
Set datos = Range("k4:k6")
For i = 1 To filas
    If i = 1 Then Set destino = datos.Rows(4).Resize(3)
    If i > 1 Then Set destino = destino.Rows(4).Resize(3)
    destino.Value = datos.Value
Next i
Set datos = Nothing: Set destino = Nothing
End Sub

Gracias si he visto que me repite el valor que necesito pero se pasa del rango de la columna B deberían de ser el mismo rango, copio una imagen de como debería de ser las celdas en amarillo son las que deberían de repetirse debería de repetir solo hasta donde llega la columna B aveces son más datos aveces menos pero siempre se debería de repetir hasta donde llega al otra columna con la fórmula si se repite pero veo que se pasa del rango.

Entonces prueba con esta macro

Sub repetir_nveces()
Set datos = Range("a1").CurrentRegion
With datos
    filas = .Rows.Count
    Set datos = .Rows(2).Resize(filas - 1)
    filas = WorksheetFunction.Quotient(filas, 3)
    Set copia = .Cells(1, 3).Resize(3, 1)
    matriz = copia
    For i = 1 To filas
        If i > 1 Then Set copia = copia.Rows(4).Resize(3, 1)
        Range(copia.Address) = matriz
    Next i
End With
Erase matriz
Set copia = Nothing: Set datos = noting
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas