Función screenupdating

Me estoy iniciando en esto de las macros y mi pregunta es ¿En qué parte de mi macro puedo poner la función screenupdating?

1 Respuesta

Respuesta
2
De hecho debes usarlo al inicio y al final, así:
Al Inicio:
Application.ScreenUpdating = FALSE
Al final:
Application.ScreenUpdating = TRUE
Gracias por tu respuesta, sin embargo creo que no está funcionando, te escribo la macro a ver si me puedes ayudar.
Private Sub Workbook_Activate()
Application.ScreenUpdating = False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Worksheets("BDATOS").Visible = xlSheetVeryHidden
Worksheets("MB-2").Visible = xlSheetVeryHidden
Worksheets("MB-7").Visible = xlSheetVeryHidden
Worksheets("TOTAL").Visible = xlSheetVeryHidden
End Sub
Private Sub Workbook_Open()
Worksheets("BDATOS").Visible = True
Worksheets("MB-2").Visible = True
Worksheets("MB-7").Visible = True
Worksheets("TOTAL").Visible = True
Application.ScreenUpdating = True
End Sub
Muchas Gracias
Lo que sucede es que estás usando varios eventos. Cada uno de estos eventos ocurre en un momento diferente, entonces si deseas que no se refresque la pantalla mientras ejecutas el programa al abrir el libro (Workbook_Open), entonces debes colocar el ScreenUpdating al inicio de este evento, y así sucesivamente.
La idea es algo así:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ScreenUpdating = False
Worksheets("BDATOS").Visible = xlSheetVeryHidden
Worksheets("MB-2").Visible = xlSheetVeryHidden
Worksheets("MB-7").Visible = xlSheetVeryHidden
Worksheets("TOTAL").Visible = xlSheetVeryHidden
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Worksheets("BDATOS").Visible = True
Worksheets("MB-2").Visible = True
Worksheets("MB-7").Visible = True
Worksheets("TOTAL").Visible = True
Application.ScreenUpdating = True
End Sub
Prueba para ver si te funciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas