Como lograr copiar el valor de un rango a fila ultima de otra hoja

No estoy logrando hacer el copiado de un rango de celdas a otra hoja, siempre utilizando la opcion de ultima fila

los valores que pretendo copiar son los que se encuentran en el rango; m5:p13 (por mas que esten vacios igual pretendo copiar los valores para cuando esten llenos)

A esta otra hoja, basicamente ambos se encuentran en el mismo libro, debe colocarme los valores de la celda copiada a la columna a, hasta seria la columna d; ya la descripcion que me carga con la funcion buscarv, agradeceria me ayuden.

1 Respuesta

Respuesta

[Hola 

Te paso la macro 

Sub copiar()
'valora la respuesta para finalizar
'Por Adriel
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("VENTAS")
   '
    u = h2.Range("A" & Rows.Count).End(xlUp).Row
    For i = 5 To 13
       If h1.Cells(i, "M") <> "" Then
            h1.Range("M" & i & ":P" & i).Copy
            h2.Range("A" & u).PasteSpecial xlValues
            '
            u = u + 1
       End If
    Next i
    '
    Application.CutCopyMode = False
    MsgBox "fin"
End Sub

amigo, muchas gracias por la macro, esta copiando y pegando al lugar donde deseo, pero me genera un inconveniente, que en el destino de copiado, copia el rango; pero en el lugar donde pego deja filas en blanco, como que no entiende la orden de pergarlo a ultima fila, ya que no siempre tendra datos en todas la celdas, generalmente se copian de a 2 o 3 datos, y este ya utiliza las 9 filas en la hoja 2

No entendí bien cuando dices "esta copiando y pegando al lugar donde deseo" pon imágenes para entender donde falta corregir ...

 

En copiado me lo hace bien, es decir en la columna deseada, pero me deja el espacio entre ellos, mi deseo es que lo copie los datos después de la ultima fila cargada, en el primer copiado me dejo montón de filas vacías, en el segundo copiado me deja una cantidad de filas, en menor cantidad pero me sigue dejando el espacio, el rango copiado se compone de 9 filas, pero para pegar en este caso solo se uso 2 filas para el registro

Prueba con esto

Sub copiar()
'valora la respuesta para finalizar
'Por Adriel
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("VENTAS")
   '
    f = 1655
    For i = 5 To 13
            h1.Range("M" & i & ":P" & i).Copy
            '
            Do While h2.Cells(f, "A") <> ""
             f = f + 1
            Loop
            h2.Range("A" & f).PasteSpecial xlValues
    Next i
    '
    Application.CutCopyMode = False
    MsgBox "fin"
End Sub

Si te funcionó la macro valora la respuesta saludos!

Buenas tardes,  lastimosamente aún me sigue dando espacio en blanco entre copiado, retiró que no siempre está lleno el rango copiado pero me copia la cantidad de filas,  todo bien,  pero al pegar copia las 9 filas y toma como ocupada las que están en blanco igual

Elimina las filas o copia los datos a otra hoja

*

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas