Las razones por la cual tu macro puede ser lenta son las siguientes: **** 1.- Si no has declarado el tipo de datos para tus variables hará que tu macro sea lenta. Si no se declara el tipo de datos, lo que hará VBA es asignar por defecto el tipo de dato "Variant". Si se asignara adecuadamente los tipos de datos correctamente podemos ahorrar valiosos bytes. -- 2.- Si dentro de nuestro código se emplea con regularidad referencias a libros, rangos o celdas con regularidad es aconsejable asignar una variable para los objetos. La asignación de variables a objetos se realiza con la instrucción Set --- 3.- Es aconsejable crear módulos diferentes para varias macros. No es aconsejable crear varias macros en un solo modulo. Los usuarios avanzados prefieren realizar sus procedimientos en módulos para cada macro. ---- 4.- Si nos fijamos en hardware es muy pertinente revisar el microprocesador de cuenta nuestra PC, dado que es la que determina precisamente la velocidad de procesamiento de datos. **** Espero que estas observaciones que te hago alcanzar te sirvan para que puedas revisar el tema.