Saltar al contenido

Ocultar y Mostrar hojas mismo boton


Recommended Posts

publicado

Buenas tardes, 

Perdonad mi ignorància en excel pero he creado un boton para ocultar y mostrar hojas. He puesto en el VBA la macro pero supongo que la he escrito mal, me gustaría que alguien con mas conocimientos que yo me pudiera ayudar, 

Me pone el siguiente error: Se ha producido el error 9 en tiempo de ejecución:

                                            Subíndice fuera de intervalo 

 

gracias

Sub MostraryOcultarHojas()

Sheets("Hoja10").Visible = False
Sheets("Hoja11").Visible = False
Sheets("Hoja12").Visible = False
Sheets("Hoja13").Visible = False
Sheets("Hoja14").Visible = False
Sheets("Hoja3").Visible = False
Sheets("Hoja5").Visible = False
Sheets("Hoja6").Visible = False
Sheets("Hoja7").Visible = False
Sheets("Hoja8").Visible = False
Sheets("Hoja9").Visible = False

Sheets("Hoja1").Visible = True
Sheets("Hoja2").Visible = True
Sheets("Hoja4").Visible = True
Sheets("Sheet1").Visible = True

End Sub

 

publicado

un "error 9" significa que un elemento (de una colección) al que haces referencia NO existe, en el código que expones haces referencia (aunque de manera desordenada) desde la "hoja1" hasta la "hoja14" (mas la "sheet1"), una de esas hojas no coincide con el nombre que aparece en las etiquetas (?)

además, si se tratara de TODAS las hojas en el libro, tampoco es posible ocultarlas todas (siempre debe haber al menos una visible)

por otro lado, no es clara alguna "condición" para determinar si las hojas se ocultan o muestran

saludos,

hector.

 

publicado

Hola

 

Con el permiso de mi hermano @Héctor Miguel le dejo esta posible solucion. Solo debes adaptarlo a tu necesidad:

Para poner las hojas visibles a partir de la hoja Numero 2

Dim I As Integer

    For I = 3 To ThisWorkbook.Sheets.Count
           
        ThisWorkbook.Sheets(I).Visible = xlSheetVisible
    Next I
    Application.StatusBar = "-----" & "Hojas Visibles"

Para poner las hojas ocultas a partir de la hoja Numero 2

Dim I As Integer

    For I = 3 To ThisWorkbook.Sheets.Count
           
        ThisWorkbook.Sheets(I).Visible = xlSheetHidden
    Next I
    Application.StatusBar = "-----" & "Hojas Ocultas"

 

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.