Copiar rango en última fila de otra hoja

28/01/2008 - 15:48 por GRIEGO59 | Informe spam
Hola!
Estoy intentando copiar un rango de una hoja en la última fila de otra hoja.
Es decir, intento copiar el rango A2:C20 de la hoja Datos a otra hoja
llamada Relación, una fila por debajo de la última fila con datos, es decir,
en la primera fila disponible.
Estoy usando este código:


Sub Guardar_Click()
Dim ultF As Long
Range("A2:C20").Select
Selection.Copy
With Worksheets("Relación")
ultF = .[a65536].End(xlUp).Row + 1
.Cells(ultF, 1).Paste
End With
End Sub

Pero no funciona, me dice:
“El objeto no admite esta propiedad o método”

Que estoy haciendo mal?
Saludos,
Darío

Preguntas similare

Leer las respuestas

#6 Ivan
07/02/2008 - 21:00 | Informe spam
hola Dario

prueba la adpatecion que te pongo al final

solo asegurate de que la hoja activa al ejecutar la macro es la que
contiene el rango a copiar ( A2:C20) y..

si trascribes la macro el unico rango que no debe llevar un punto
delante es Range("A2:C20") (aunque lo mejor es que lc copies/pegues

en un cModulo 'normal' (no de hoja ni en thisworkbook)

Sub Guardar_Click()
Dim ultF As Long
With Worksheets("Relación")
ultF = .[a65536].End(xlUp).Row + 1
Range("A2:C20").Copy
.Cells(ultF, 1).PasteSpecial xlpastevalues
End With
End Sub


no lo he `probado, pero deberia funcionar (el objeto Range, si no
recuerdo mal no admite el metodo Paste a secas)

un saludo
Ivan
Respuesta Responder a este mensaje
#7 Ivan
07/02/2008 - 21:06 | Informe spam
hola de nuevo, Dario

por un lado no me hagas caso en lo del modulo (no me habia fijado que
es un evento de un boton). ponlo donde este el boton

por otro si quieres prueba este otro (antes me he centrado en tu
codigo sin mirar/pensar mucho mas)

.-> si es seguro que la hoja activa es la que contiene el rango de
origen

Sub Guardar_Click()
Range("A2:C20").Copy
Worksheets("Relación").Range("a65536").End(xlUp) _
.Offset(1).PasteSpecial xlPasteValues
End Sub

.->si puede no serlo pero sabes su nombre

Sub Guardar_Click()
Worksheets("Nombre_Hoja_Origen").Range("A2:C20").Copy
Worksheets("Relación").Range("a65536").End(xlUp) _
.Offset(1).PasteSpecial xlPasteValues
End Sub


n saludo
Ivan
Respuesta Responder a este mensaje
#8 Gavillas
08/02/2008 - 22:14 | Informe spam
Muy interesantes vuestras aportaciones, amigos AnSanVal e Ivan.
Estoy aprendiendo mucho.

Un saludo, Gavillas.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida