Código Vba excel abrir y cerrar hojas
Tengo un libro de excel que en el evento al abrir el libro llama al procedimiento:
Sub Ocultarhojasmenoslaactiva() Dim Hoja As Worksheet For Each Hoja In Worksheets If Hoja.CodeName <> "Hoja2" Then Hoja.Visible = xlSheetVeryHidden End If Next Hoja End Sub
Esto funciona correctamente, luego tengo una portada Es Inicio ("Hoja2"), donde mediante botones abro las hojas pertinentes y se cierra Inicio pongo un ejemplo:
Sub DatosPersonales()
Sheets("DATOS PERSONALES").Visible = True
Sheets("INICIO").Visible = False
End SubEn esta Hoja otro botón con este código para volver, algo simple:
Sub Inicio()
Sheets("Inicio").Visible = True
Sheets("DATOS PERSONALES").Visible = False
End Suby Asi con todos, funciona correctamente y hace su trabajo pero tengo una parte llamada ajustes que tras pedir un usuario y contraseña mediante un formulario me abre una hoja llamada Ajustes ("Hoja47") donde para crearla lo que hice fue copiar Inicio y añadirle el resto de hojas mediante botones que no quiero que otros usuarios vean ni modifiquen y Acceso tambien mediante un boton al procedimiento antes mencionado de OcultarHojas... Y uno para abrirlas todas:
Sub Mostrarhojas()
Dim Hoja As Worksheet
For Each Hoja In Worksheets
Hoja.Visible = xlSheetVisible
Next Hoja
Sheets("Ajustes").Select
End SubPues bien el problema es que al copiar en parte la hoja de inicio para crear la hoja de ajustes cuando toco un botón de los que están creados en esa hoja me abre la hoja en cuestión cierra la de inicio pero no se activa queda en segundo plano queda activa la hoja de ajustes, tengo que andar seleccionándola yo, como ejemplo sería el anterior mencionado de datos personales.
Sub DatosPersonales()
Sheets("DATOS PERSONALES").Visible = True
Sheets("INICIO").Visible = False
End Sub
Sub Inicio()
Sheets("Inicio").Visible = True
Sheets("DATOS PERSONALES").Visible = False
End SubLa pregunta es, como puedo realizar esto con un código para poder cerrar la hoja que este activa en ese momento y abrir la que quieras, sin tener que escribir los nombres de cada hoja como hago hasta ahora.