Tengo una libro con 10 hojas, al abrir solo mostrar una hoja

Pido su apoyo para realizar una macro, tengo un libro de 10 hojas, la principal se llama INICIO, y las otras con otros nombre, lo que busco es cuando abro este libro solo me visualice la hoja INICIO y las demás hojas ocultas, al mismo tiempo me de una mensaje si deseo trabajar el libro como prueba y/o nuevo, si le indico como prueba me visualiza todas las hojas, y si es como nuevo me deja ocultas las hojas, hasta actualizar la hoja inicio es donde recien me va a habilitar la visualización de las demás hojas.

Respuesta
1

Este seria el código que iría en el Evento Open del Workbook:

Private Sub Workbook_Open()
Dim ws As Worksheet
If MsgBox("¿Desea trabajar el libro como prueba?" & vbCr & _
        "Si dice que NO, se trabajará el libro como nuevo.", vbQuestion + vbYesNo, "Elegir opción...") = vbYes Then
    For Each ws In ThisWorkbook.Sheets
        If ws.Visible = xlSheetVeryHidden Or ws.Visible = xlSheetHidden Then ws.Visible = xlSheetVisible
    Next ws
Else
    For Each ws In ThisWorkbook.Sheets
        If ws.Name <> "INICIO" Then ws.Visible = xlSheetVeryHidden
    Next ws
End If
End Sub

Salu2

Hola Andy:

Como hago si ya tengo este una macro de Workbook que realiza otra función.

Private Sub Workbook_Open()

Sheets("INICIO").Select
Instrucciones.Show
End Sub

Espero me puedas ayudar.

Saludos

El que te di debería ir antes que el que ya tenias, queda así:

Private Sub Workbook_Open()
Dim ws As Worksheet
If MsgBox("¿Desea trabajar el libro como prueba?" & vbCr & _
        "Si dice que NO, se trabajará el libro como nuevo.", vbQuestion + vbYesNo, "Elegir opción...") = vbYes Then
    For Each ws In ThisWorkbook.Sheets
        If ws.Visible = xlSheetVeryHidden Or ws.Visible = xlSheetHidden Then ws.Visible = xlSheetVisible
    Next ws
Else
    For Each ws In ThisWorkbook.Sheets
        If ws.Name <> "INICIO" Then ws.Visible = xlSheetVeryHidden
    Next ws
End If
Sheets("INICIO").Select
Instrucciones.Show
End Sub

Andy

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas