|
La verdad no veo por qué sea lento en proceso, ya que el archivo no es pesado en realidad (para ser un excel) , aunque podría ser tu macro fuere trabajosa.
Para agilizarla un poco, podrías cambiar la instrucción
Sheets(Array("Hoja2")).Select
por sheets("Hoja2").Select
a menos que de verdad tenga sentido generar un arreglo (matriz) en cada hoja. También, si los rangos de impresión no cambian, no necesitas especificarlos cada vez que corre la macro.
Otra cosa que puedes intentar, es si cada uno de los 30 checkbox se activan independientemente, en lugar de que exista una macro que haga los 30 if, podrías a cada uno asignarle una del tipo checkBoxn_AlHacerClic que sólo evalúe el valor (marcado) de un único casilla de verificación, y la mande imprimir con una intrucción del tipo
sheets("Hoja2").PrintOut copies:=1, collate:=True
|