Imprimir página | Cerrar ventana

No calcular una hoja en particular

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86096
Fecha de impresión: 29/Marzo/2024 a las 16:10


Tema: No calcular una hoja en particular
Publicado por: Gladiador
Asunto: No calcular una hoja en particular
Fecha de publicación: 25/Agosto/2021 a las 05:21
Holla, hace un tiempo hice una consulta de como Calcular solo la hoja activa.

La hoja en cuestión la he llamado "Estado" y tiene varias formulas que hacen que se demore en hacer todos los cálculos, me refiero a que se tarda entre 15 y 20 segundos en estar lista, lo cual es desesperante.

Ahora me gustaría saber como hago para que una hoja "Estado" solo se calcule cuando esté activa

He incluido estos comando en la hoja, pero no creo que estén funcionando porque igual se demora bastanteCry

Private Sub Worksheet_Activate()
ActiveSheet.EnableCalculation = True
End Sub

Private Sub Worksheet_Deactivate()
ActiveSheet.EnableCalculation = False
End Sub

Agradecería mucho su ayuda

Gladiador




Respuestas:
Publicado por: lbauluz
Fecha de publicación: 25/Agosto/2021 a las 08:47
Pues tal como lo pides, no se si se puede, pero al revés si, es decir, desactivas el cálculo automático de todo el libro y después en cada una de las hojas que si quieres que se calculen le añades este código

Private Sub Worksheet_Change(ByVal Target As Range)
  ActiveSheet.Calculate
End Sub

Un saludo.

Luis


-------------
El Búho es un pajarraco


Publicado por: Gladiador
Fecha de publicación: 30/Agosto/2021 a las 22:03
Hoal
Gracias por la respuesta.
He logrado lo que necesito con los siguiente:

     Private Sub Workbook_Open()
     Worksheets("Estado").EnableCalculation = False
     End Sub

En el código de la hoja "Estado" he incluído los comandos que tenía

Private Sub Worksheet_Activate()
ActiveSheet.EnableCalculation = True
End Sub

Private Sub Worksheet_Deactivate()
ActiveSheet.EnableCalculation = False
End Sub

Agradecido por el tiempo que han dedicado 

Gladiador




Imprimir página | Cerrar ventana