domingo, febrero 18, 2007

Excel – Mostrar hojas ocultas

Excel permite ocultar hojas de un cuaderno usando el menú Formato—Hojas—Ocultar. Si queremos ocultar varias hojas de una vez, sencillamente seleccionamos las hojas (seleccionado la pestaña de la hoja junto con la tecla Ctrl).

Pero si queremos mostrar hojas ocultas, solo podemos hacerlo de una a la vez. Cada vez que abrimos el menú Formato—Hojas—Mostrar, Excel nos presentará una lista de hojas ocultas, pero sólo podremos elegir de una a la vez.

Para mostrar todas las hojas ocultas de un golpe podemos escribir una macro sencilla. Abrimos el editor de Vb (Alt+F11). Si existe el Personal.xls, le agregamos un módulo y en él escribimos

Sub mostrar_hojas()
  Dim sh As Worksheet

    For Each sh In Worksheets
     sh .Visible = True
    Next

End Sub

Luego podemos agregarle una combinación de teclas, por ejemplo Ctrl+Mayúsculas+M.

Si el Personal.xls no existe, podemos crearlo fácilmente. Abrimos la grabadora de macros, seleccionamos la opción libro Personal para guardarlo y grabamos algo.



Al hacer esto, Excel crea el cuaderno Personal.xls.




Technorati Tags:

13 comentarios:

  1. Gracias por este blog tan estupendo
    y en castellano, los que nos iniciamos en esto, apreciamos tu entrega y genersidad, y tu buen hacer. Me voy desplazando poco a poco a calc de openoffice, pero tu
    blog es supervalioso. A ver si vemos algo para los usuarios "open" . Un saludo muy cordial, y que
    bien que haya personas como tú.

    Sinceramente.
    Jesús Hernández Fuentes.

    ResponderBorrar
  2. Como siempre, muy bueno. Estaba buscando una función que hiciera precisamente esto mismo.

    Saludos!

    ResponderBorrar
  3. Muchisimas gracias por esta aportacion. Me sirvio mucho el dia de hoy para solucionar problemas en el trabajo. Saludos y esperamos mas novedades.

    ResponderBorrar
  4. Muchas gracias por compartir tus conocimientos, espero continúes así, pues estoy seguro, que como a mí, a muchas personas le es útil.

    ResponderBorrar
  5. Mil gracias desde México, en mi caso manejo muchas sucursales y no sabes como ha venido a simplificar mi trabajo. De igual manera ya descargue el Add-in de la pagina que recomendaste para seleccionar las hojas.

    Saludos,
    Lorena Solis

    ResponderBorrar
  6. Cordial saludo, mi problema es: es posible hacer una macro que muestre todas las hoja ocultas y que tome datos de CADA una de las hojas, ya que lo que la macro que dice no hace lo que nesecito.Gracias

    ResponderBorrar
  7. La respuesta a tus consultas es si, pero no explicas que es lo que quieres hacer con los datos.

    ResponderBorrar
  8. Como seria para ocultarlas todas?.
    Se que una macro lo haria y dejaria UNA SOLA visible (pues tiene que haber una visible en excel no permite TODITAS OCULTAS.
    Probe el mismo codigo pero cambiando True a False y me dá error 1004 en la linea
    sh.Visible = False
    ERROR EN EL METODO 'VISIBLE' DE OBJECTO'_WORKSHEET'
    ¿Que se puede hacer?
    Ya cambie False por xlSheetVeryHidden y el mismo resultado
    Gracias

    ResponderBorrar
  9. Este código oculta todas las hojas del cuaderno, menos la primera (la que tiene el número de índice 1)


    Sub ocultar_hojas()
    Dim x As Integer
    For x = 2 To Worksheets.Count
    Sheets(x).Visible = False
    Next x
    End Sub

    ResponderBorrar
  10. Gracias por excelente comentario

    ResponderBorrar
  11. muchas gracias por el aportes excelente opcion

    ResponderBorrar
  12. Intente correr la macro con un archivo pero me da error: "Se ha producido el error 438 en tiempo de ejecución: El objeto no admite esta propiedad o método".
    Que debo hacer en este caso?. Gracias anticipadas por la ayuda

    ResponderBorrar
  13. En lugar de

    sh .Visible = True

    prueba

    sh .Visible = xlVisible

    O mejor aún puedes usar el código que muestro en esta nota (debes descaragr el archivo y seguir las instrucciones).

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.