Pues lo acabo de probar en Excel 2003 y Excel 2007 y en ambos funciona correctamente.
Supongo que lo has grabado en un módulo, y no en una hoja...
Mira que Hoja1 y Hoja2 sean el nombre interno de las hojas (el que se ve desde la ventana del proyecto, en modo VBA). No obstante, prueba a hacerlo poniéndole el nombre que aparece en las pestañas, y cambia esto:
Por esto otro:
Código:
Sheets("Nombre de la pestaña").Select
Haz lo mismo con la Hoja2.
Por cierto, añade esta primera línea al macro:
Es para que no se detenga el macro al encontrar un error (por ejemplo, si un email de la Hoja2 no está en la Hoja1).
Edito: Veo que has dado con el motivo, y es lo último que te comentaba. Pon lo del
On error resume next como primera línea del código, y solucionado. El macro se ejecutará hasta finalizar el trabajo, aunque encuentre errores.