Copiar Datos de una hoja a otra. Error Debug

Hola en primer lugar decir que he leído preguntas similares, pero ninguna me ha resuelto el problema.
He de copiar datos de una hoja 1 y pegarlos en una hoja 2. Los datos se actulizarán cada vez que se active la hoja 2.
Como la cosa parece simple, he utilizado la grabadora de macros y he pegado el código en una subrutina quedando de la siguiente manera:
Private Sub Worksheet_Activate()
  Sheets("Hoja 1").Select
  Range("E2:E1000").Select
  Selection.Copy
  Sheets("Hoja 2.").Select
  Range("A2:A1000").Select
  ActiveSheet.Paste
End Sub
Cuando pincho en la hoja 2 me sale el siguiente error:
Run-time error '1004':
Select method of Range class failed. Y si doy a la opción Debug me subraya la línea de código:
Range("E2:E1000").Select
¿A qué puede deberse el problema?

1 Respuesta

Respuesta
1
Tu rutina presenta 2 problemas: el error que mencionas se soluciona colocando delante la hoja que corresponde. Como seleccionaste la hoja1, la línea quedaría:
ActiveSheet.Range("E2:E1000").select
Pero como 2 líneas más abajo selecciones la hoja2, estás ejecutando nuevamente el evento Worksheet_Activate y por lo tanto continúa con la 1er línea, haciéndose un bucle sin fin.
Te sugiero esta solución:
Private Sub Worksheet_Activate()
Sheets("Hoja1").Range("E2:E1000").Copy
ActiveSheet.Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False 'para quitar el modo copiar
End Sub
Si necesitas ayuda con macros te invito a visitar mi sitio.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas