Macro para alternar la visibilidad de una hoja
Estimados lectores, en esta ocasión vamos a aprender dos cosas: en principio, a crear una macro y a asignarle un atajo utilizando tan sólo el editor de Visual Basic; por otro lado, confeccionaremos una simple pero práctica macro que nos permitirá mostrar u ocultar una hoja de una manera rápida y dinámica.
Comenzamos por crear un documento nuevo, y presionamos ALT + F11. Una vez en la ventana de Visual Basic, vamos al menú Insertar y cliqueamos Módulo. Luego, escribiremos el código de nuestra macro:
Sub MostrarOcultarHoja()
If Hoja2.Visible = xlSheetVisible Then
Hoja2.Visible = xlSheetHidden
Else
Hoja2.Visible = xlSheetVisible
End If
End Sub
En la primera línea, MostrarOcultarHoja representa el nombre de la macro, el cual Excel agrega inmediatamente a la lista, accesible a través de su barra de herramientas. Con respecto a las condiciones, simplemente consultamos el estado de la propiedad Visible de la Hoja2 y le asignamos el opuesto. De esta manera, ejecutando la misma macro una y otra vez, mostraremos y esconderemos la página.
Bien, simplemente nos queda especificar una combinación de teclas. Para ello, deberemos dirigirnos al árbol donde se encuentra el módulo que acabamos de crear y hacer doble click sobre ThisWorkbook. Se abrirá una ventana en blanco, donde deberemos ingresar las siguientes líneas:
Sub Workbook_Open()
Application.OnKey "^j", "MostrarOcultarHoja"
End Sub
En pocas palabras, le estamos diciendo a la aplicación que cada vez que se abra el documento, se le asigne al atajo "^j" (que corresponde a CONTROL j) la macro MostrarOcultarHoja. Una vez hecho esto, deberemos pulsar F5 para ejecutar el código, ya que de otra forma sería necesario grabar, cerrar y volver a abrir el archivo.

Como último dato interesante, si quisiéramos devolver a CONTROL j su funcionalidad anterior, si la tuviera, deberíamos utilizar la función OnKey de la siguiente manera:
Application.OnKey "^j", ""

