¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Problema con Applic...
 
Compartir:
Avisos
Vaciar todo

Problema con Application.ScreenUpdating

aspaldi
(@aspaldi)
Miembro activo Registered

Hola, en las macros que tengo para que no me parpadee al ejecutarlas le tengo puesto al principio Application.ScreenUpdating=false

y al final Application.ScreenUpdating=true

Mi problema es que la primera vez que ejecutó la macro no parpadea, pero las siguientes si sigue parpadeando.

Las macros están hechas con grabadora.

Creo que el problema está que tengo macros de evento en todas las hojas con Application.ScreenUpdating=true

Para poder resaltar las filas completas de color al seleccionarlas.

He probado a borrar las macro y poner:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

On Error Resume Next

Cells.Interior.ColorIndex = 0

Target.EntireRow.Interior.ColorIndex = 4

End SubPerobahora el problema es que tengo celdas con otro color para saber qué hay fórmulas y al poner este código se borra todos los colores de las celdas coloreadas.

Hay alguna solución para que no me parpadee y a la vez pueda resaltar las filas completas sin que al quitar la selección no se borren los colores de las celdas coloreadas?

Gracias.

Citar
Topic starter Respondido : 09/01/2022 9:29 am
Etiquetas del debate
RET
 RET
(@ret)
Miembro Admin

@aspaldi,

 

Con respecto al tema del Application.ScreenUpdating, si tienes macros de evento en cada hoja que se ejecutan al lanzar tu rutina, está claro que cuando lleguen al True, se va a activar la visualización. Una forma de evitar esto, es definir una variable global que identifique si has lanzado tu rutina principal. La pones en True al inicio y en false al final de la misma. Si los Application.ScreenUpdating =True de los eventos de hoja, antes de ejecutarse, chequean el estado de dicha variable global y solo se ejecutan si esta es false, evitarás este problema.

 

Sobre el segundo problema, puedes poner color a las celdas que contienen formulas usando algo así:

Rango.SpecialCells(xlCellTypeFormulas).Interior.Color = El color que quieras

Donde rango puede ser Hoja1.UsedRange para limitarlo a la zona que estas utilizando, en vez de a toda la hoja.

 

Saludos,

IMF_RET

https://InformaticaMuyFacil.com

ResponderCitar
Respondido : 09/01/2022 12:25 pm
aspaldi
(@aspaldi)
Miembro activo Registered

@ret Muchas gracias

ResponderCitar
Topic starter Respondido : 09/01/2022 12:38 pm

Dejar una respuesta

Nombre del autor

Correo electrónico del autor

Título *

 
Vista previa 0 revisiones Guardado