¿Cómo puedo evitar que se muestre cuando se encierran los rangos al ejecutar una macro en excel?

Te hago una pregunta...
Cuando hago una macro para hacer algunas tareas rutinarias...
Entre las instrucciones que tiene la macros están las siguientes:
Range("A1:D8").Select
Selection.Copy
¿Cuándo la macros se esta ejecutando.me muestra como se encierran los rangos A1 hasta D8 y después se copian... Existe alguna forma de que no me muestre cuando se están encerrando los rangos y que solo se copien los rangos sin mostrar nada en la pantalla?...
Respuesta
1
Alien 18,
Si se puede realizar, tienes que poner el siguiente código:
Sub ActualizarPantalla()
Application.ScreenUpdating = False 'No se refresca la pantalla
Range("A1:D8").Select
Selection.Copy
Application.ScreenUpdating = True ' La pantalla se referesca tras acabar la macro
End Sub
Ten cuidado de no olvidar al final decir = True porque sino la pantalla no se refrescara hasta que comiences otra sesión de Excel.
Si te hace falta alguna explicación más encantado.
No funciona... al darle play me sigue mostrando cuando se empiezan a encerrar en en la pantalla todos los rango entre A1 Y D8 :(
Ayudame un poco...
No es que no funcione sino que sigue mostrándote la selección que has indicado al programa, así como los elementos que están copiados, para evitar ver esto al final puedes probar este código:
Sub ActualizarPantalla()
Application.ScreenUpdating = False 'No se refresca la pantalla
Range("A1:D8").Select
Selection.Copy
Range("a1").Select ' Selecciona cualquier celda para perder la seleccion
Application.CutCopyMode = False 'Deja de mostrar la seleccion copiada
Application.ScreenUpdating = True ' La pantalla se referesca tras acabar la macro
End Sub
Ojo como veras si añades el codigo:
Application.CutCopyMode = False
No existirá selección que pegar ya que así se desactiva, utilizala al final, cuando ya se hayan pegado los datos.
Si sigues con dudas no te preocupes en preguntarme.
Mira este código
ActiveSheet.PageSetup.PrintArea = "$N$1:$R$43"
Esta instrucción esta al final de la macros y me estable el área de impresión. Sin mostrarme nada cuando se esta ejecutando la macros
Me gustaría algo parecido para cuando se copian las celda A1:D8 y esta instrucción es cuando empieza la macros
La verdad es que no acabo de entender el problema, porque si congelas la pantalla antes de seleccionar y después de copiar seleccionas otra celda y descongelas, lo que pasa entre ambos procesos no se debería observar en pantalla.
No obstante tiramos por el camino de en medio, define el rango en código y entonces no se mostrara la selección, es decir utiliza:
Set Rango = Range("A1:D8")'Define el rango y por tanto no se selecciona
Rango.Copy
Range("N2").Select
ActiveSheet. Paste
Pruébalo y me comentas sino intentamos otra cosa.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas