Seleccionar, copiar y pegar de una hoja a otra.

26/08/2005 - 02:11 por Martin | Informe spam
Hola a todos,
Antes de volverme tarumba, a ver si alguien me puede echar una manita.

Necesito una macro que me lleve a la primera celda vacia de una hoja y alli
me pegue una fila que he seleccionado previamente en otra hoja de otro
libro y que por tanto esta en el portapapeles.

Si esa fila seleccionada es la ultima de esa hoja, hay alguna forma de
automatizar todo el proceso?:

1) seleccionar ultima fila de hoja1, copiar

2)ir a primera celda vacia de hoja2 y pegar.


Muchas gracias por adelantado.

Saludos. Martin.
 

Leer las respuestas

#1 KL
26/08/2005 - 15:50 | Informe spam
Hola Martin,

Opcion1. Suponiendo que en la columna [A] (u otra) del rango usado las
celdas no pueden estar vacias, prueba este codigo cambiando los nombres de
hojas por los que correspondan:

'-
Sub test()
With Sheets(1)
Set rng = _
.Cells(.Rows.Count, "A").End(xlUp).EntireRow
End With
With Sheets(2)
rng.Copy .Cells(.Rows.Count, "A") _
.End(xlUp).Offset(1, 0).EntireRow
End With
End Sub
'-

Opcion2: Para el resto de los casos:

'-
Sub test2()
LastCell(Sheets(1)).EntireRow.Copy _
LastCell(Sheets(2)).Offset(1, 0).EntireRow
End Sub

Public Function LastCell(Optional ws As Worksheet) As Range
If ws Is Nothing Then Set ws = ActiveSheet
Set rng = ws.Cells
Set LastCell = rng(1)
On Error Resume Next
Set LastCell = Intersect( _
rng.Find("*", rng(1), xlValues, xlWhole, xlByRows, _
xlPrevious).EntireRow, _
rng.Find("*", rng(1), xlValues, xlWhole, xlByColumns, _
xlPrevious).EntireColumn)
End Function
'-

Saludos,
KL



"Martin" wrote in message
news:430e5e30$0$18638$
Hola a todos,
Antes de volverme tarumba, a ver si alguien me puede echar una manita.

Necesito una macro que me lleve a la primera celda vacia de una hoja y
alli
me pegue una fila que he seleccionado previamente en otra hoja de otro
libro y que por tanto esta en el portapapeles.

Si esa fila seleccionada es la ultima de esa hoja, hay alguna forma de
automatizar todo el proceso?:

1) seleccionar ultima fila de hoja1, copiar

2)ir a primera celda vacia de hoja2 y pegar.


Muchas gracias por adelantado.

Saludos. Martin.

Preguntas similares