Ir al contenido principal

Mostrar y Ocultar Hojas mediante Macros



Siguiendo con el tema de la entrada anterior (Hojas Bien Ocultas), esta vez veremos como MOSTRAR todas las hojas ocultas de un modelo financiero mediante la construcción y ejecución de una macro y a su vez como volverlas a OCULTAR.

Supongamos que nos entregan un modelo financiero el cual consta de 12 hojas, sin embargo 7 de ellas contienen cálculos que el usuario final no debe manipular,y para esto el estructurador del modelo las ha bloqueado y ocultado.  Como mostrarlas???  

El procedimiento es el siguiente:

Vamos al editor de Visual Basic (Alt + F11), insertamos un Modulo y escribimos el siguiente código:


Sub MostrarHojasOcultas ()

Application.ScreenUpdating = False
 
    For Each N In Sheets
        N.Visible = True
    Next N

Application.ScreenUpdating = True
 
End Sub 



Una vez tengamos el código de la macro, guardamos y cerramos el editor de visual basic.

Para activar la macro vamos a la ficha programador > Macros > (Buscamos la macro) Ejecutar....y ya está! habremos mostrado todas las Hojas del modelo.

Ahora surge una nueva inquietud...como podemos ocultar de nuevo las hojas que hemos mostrado sin necesidad de hacerlo una por una?

Sencillo! vamos de nuevo al editor de Visual Basic (alt + F11) y digitamos el siguiente código (Recordemos que el comando "sheets" hace referencia a las hojas que componen el modelo, de esta manera se le agrega la característica ".Visible" la cual puede ser igual a "True" si se quiere mostrar la hoja o "False" si se quiere ocultar.):


Sub ocultar_hojas()


Sheets("Menú").Visible = True
Sheets("Menú").Select

Sheets("Resultados").Visible = True
Sheets("Resultados").Select

Sheets("Supuestos").Visible = True
Sheets("Supuestos").Select

Sheets("Balance_General").Visible = True
Sheets("Balance_General").Select

Sheets("P&G").Visible = True
Sheets("P&G").Select

Sheets("Proyección_Ingresos").Visible = False
Sheets("Proyección_Gastos").Visible = False
Sheets("Proyección_Costos").Visible = False
Sheets("Overhead").Visible = False
Sheets("Créditos").Visible = False
Sheets("Analisis").Visible = False
Sheets("Wacc").Visible = False
Sheets("Valoración").Visible = False

End Sub 



Si por alguna razón no queremos ocultar una de las hojas, lo único que debemos hacer es borrar la linea o cambiar = False   por  = True.


Comentarios

  1. Muy bueno para su aplicacion en macros a seguir trabajando con ese mismo interes

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Análisis de Sensibilidad: Tablas de Datos

Valor Futuro de una Suma Presente

Calculadora para Conversión de Tasas de Interes