Error Pegado Especial de la clase Range

Hola tengo problemas con este código, que me arroja este mensaje" Error 1004 en tiempo de ejecución, Error en el método Paste Special de la clase Range, mi código es este:

Sub Botón1_Haga_clic_en()
Application.ScreenUpdating = False
Range("J7").Value = Range("J7").Value + 1
Sheets("Hoja2").Range("M3:N12").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Hoja1").Select
contá = Range("P1")
Range("A" & 238 + contá).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True

End sub

Lo raro es que si presiono dos veces el botón, si ejecuta la macro, pero me manda ese error, su ayuda para saber en que estoy mal

Gracias de antemano

1

1 respuesta

Respuesta
1

Insertá la línea de negrita para poder observar qué rango se está seleccionando. Puede ser que no encuentre el final y se vaya hasta el fin de la hoja (así me pasó en las pruebas) y por eso se excede el copiado al rango que le queda para pegarlo.

Range(Selection, Selection.End(xlDown)).Select
MsgBox Selection.Address
Selection. Copy

Tendrás que buscar alguna otra instrucción para acotar el rango porque puede ser que en M13:N13 ya no hay nada ... en la sección Macros de mi sitio dejo algunas instrucciones de ejemplo.

Hola Elsa,gracias por el comentario, adapte este código a mis necesidades, y ya no me falla, lo dejo por si alguien le sirve,hace lo mismo que pegado especial y no necesito formullarlo con la rango + conta

Sheets("Hoja2").Range("A65536").End(xlUp).Offset(1, 0) = Sheets("Hoja3").Range("B1")
Sheets("Hoja2").Range("A65536").End(xlUp).Offset(0, 1) = Sheets("Hoja3").Range("B2")
Sheets("Hoja2").Range("A65536").End(xlUp).Offset(0, 2) = Sheets("Hoja3").Range("B3")
Sheets("Hoja2").Range("A65536").End(xlUp).Offset(0, 3) = Sheets("Hoja3").Range("B4")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas