Formulario Menu muestra y oculta hojas de excel





He visto que en varios en foros hay preguntas sobre como hacer con macros de VBA un menú de inicio que muestre y oculte hojas, eso precisamente se hace en este ejemplo, es decir al abrir el archivo de Excel se muestra un menu inicio desde el cual se puede navegar a las distintas hojas que componen el libro de Excel, mostrando la hoja seleccionada y cuando se termine de trabajar en ella regrese al menú inicial y oculte la hoja, todo lo mencionado se hace a través de macros de VBA o procedimientos de vba.

MASTERCARD PAYONEER

Muchas veces realizamos una aplicación con Excel en la cual deseamos tener un formulario o userform de inicio y desde ahí navegar hacia las distintas hojas, mostrando la hoja en la que deseamos trabajar y ocultando el resto; el fin de ocultar las hojas y navegar desde un formulario o menú de inicio se puede requerir por una cuestión de profesionalidad, porque no se desea que se vean las hojas que componen el libro; por seguridad, ya que las hojas pueden contener fórmulas que pueden ser accidentalmente modificadas y con ello romper o estropear el libro, o porque solo se quiere dar acceso a personas autorizadas y al hacer click en el botón cargar un formulario que solicite una clave o password previamente para dar acceso a la hoja protegida, en fin son varios los objetivos por los que se puede requerir tener un formulario estilo menú de inicio.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.




  

Desde el link del final se puede descargar el archivo de ejemplo de esta manera podrás ver su funcionamiento en forma más detallada. El código de VBA o Macro de Excel proporcionado en el libro hace que al iniciar el libro se corra la macro que carga un formulario de inicio o menú con varios botones a los que se le asigna un nombre de hoja, haciendo click en el botón de la hoja a la cual se quiere acceder, se corre otra macro que selecciona la hoja correspondiente ocultando el formulario de menú inicio, luego de trabajar en la hoja se puede hacer click nuevamente en un botón que se encuentra en la hoja y nuevamente se muestra el formulario de menú inicio como así también la hoja1, ocultándose la hoja en la cual estábamos trabajando, estos se puede adaptar a cualquier nombre de hoja  que tenga cada uno en su libro, esta macro esta relacionada con una anterior que he publicado y consiste en un formulario que lista las hojas y las agrega en un combobox  donde se elige el nombre de la hoja y automáticamente se selecciona y posiciona en ella.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.








Código que se debe insertar en un userform 




Private Sub CommandButton2_Click()
Unload Me
Sheets("Hoja2").Visible = True
Sheets("Hoja2").Select
End Sub
Private Sub CommandButton3_Click()
Unload Me
Sheets("Hoja3").Visible = True
Sheets("Hoja3").Select
End Sub
Private Sub CommandButton7_Click()
Sheets("Hoja7").Visible = True
Sheets("Hoja7").Select
Unload Me
End Sub
Private Sub CommandButton9_Click()
Unload UserForm1
End Sub
Private Sub CommandButton4_Click()
Unload Me
Sheets("Hoja4").Visible = True
Sheets("Hoja4").Select
End Sub
Private Sub CommandButton5_Click()
Unload Me
Sheets("Hoja5").Visible = True
Sheets("Hoja5").Select
End Sub

 
Private Sub CommandButton6_Click()
Unload Me
Sheets("Hoja6").Visible = True
Sheets("Hoja6").Select
End Sub
Private Sub Label1_Click()
ActiveWorkbook.FollowHyperlink "http://www.programarexcel.com"
End Sub


Código que se inserta en un módulo

Sub muestrauserform()
UserForm1.Show
End Sub
Sub irmenu()
hoja = ActiveSheet.Name
Sheets(hoja).Visible = xlVeryHidden
Sheets("Hoja1").Select
UserForm1.Show
End Sub






Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.



If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends