Add-in: formulario administración de hojas (mostrar, ocultar, ordenar, agrupar)

Se añade al Add-in un formulario de administración de hojas, tanto del libro activo, como de todos los libros abiertos.

Se diseña el formulario ante la necesidad de poder mostrar u ocultar hojas mediante una lista y poder elegir las que deseemos; así como también ordenar alfabéticamente.

En cuanto a todas las hojas de los libros abiertos (incluídos los ocultos), se añade la funcionalidad de poder elegir entre todas las hojas y poder agruparlas en un sólo archivo.

Funcionalidad:

Se añade al menú Hojas del Add-in EXCELeINFO, y mostrará un formulario con un MultiPage, el cual tiene dos pestañas. La primer pestaña es la de ‘Hojas libro activo’, donde encontraremos los botones de Mostrar hojas, Ocultar hojas y Ordenar hojas, permiténdonos aplicar cualquiera de las tres opciones a las hojas elegidas, como se muestra en la imagen:

image

En la segunda pestaña llamada ‘Hojas todos los libros’ aparece una lista de todas las hojas de los libros abiertos (incluyendo los ocultos) y un botón que nos permitirá agrupar las hojas seleccionadas en un archivo nuevo, como se muestra en la imagen:

image

:: Descargar EXCELeINFO add-in 2.2.2

You may also like...

16 Responses

  1. Christian says:

    Buen dia Sergio, quiero ocultar las hojas del proyecto en el que estoy trabajando pero al momento de ejecutar la macro me da un error de “Select” probe el siguiente codigo pero me sigue marcando lo mismo

    Sub workbook_open()
    Hoja2.Visible = xlSheetHidden
    Hoja2.Application.EnableEvents = True
    Hoja3.Visible = xlSheetHidden
    Hoja3.Application.EnableEvents = True
    Hoja4.Visible = xlSheetHidden
    Hoja4.Application.EnableEvents = True
    Hoja5.Visible = xlSheetHidden
    Hoja5.Application.EnableEvents = True
    Hoja6.Visible = xlSheetHidden
    Hoja6.Application.EnableEvents = True
    Hoja7.Visible = xlSheetHidden
    Hoja7.Application.EnableEvents = True
    End Sub

    dicho codigo lo coloque en thisworkbook para que se ejecutara al momento de abrirlo. De antemano muchisimas gracias.

    • sergioacamposh says:

      Otra forma que puedes probar es:

      Private Sub Workbook_Open()
      Sheets(“Hoja2”).Visible = False
      Sheets(“Hoja3”).Visible = False
      Sheets(“Hoja4”).Visible = False
      End Sub

      Saludos !!

      • Christian says:

        Muchas gracias por tu respuesta Sergio, fijate que si me oculta la hoja, el detalle es que al momento de ejecutar la macro, ya no funciona el useform, me da error en el metodo select.

        • sergioacamposh says:

          El código que me mandaste es sólo para ocultar. Me podrías pasar el código donde te genera error, por favor.

  2. german says:

    Hola Sergio, estoy necesitando algo parecido a esto pero no puedo encontrarle la vuelta.

    Tengo una planilla con cuatro listas de precio. Lo que yo quiero es que cuando el usuario abra el archivo, solo se muestre un formulario con 4 botones, para poder elegir la lista a consultar. Lo que hará cada botón es mostrar la hoja y, obviamente ocultar el formulario inicial.

    Luego, al cerrar el archivo, necesito que las hojas vuelvan a ocultarse, de forma tal que, al volver a abrir, se repita el proceso.

    He logrado hacer que el formulario se abra al iniciar y que se muestren las hojas al clickear, pero no logro cerrar el mismo (probé con Unload) ni ocultar las hojas al salir.

    Por favor, si no he sido claro, mandaría un ejemplo.
    Te agradezco la mano que me puedas dar.
    Saludos, Germán.-

    • German:

      Para cerrar el formulario utiliza

      Unload me

      Y para ocultar las hojas al salir, debes añadir el siguiente código en el módulo ThisWorkbook

      Private Sub Workbook_BeforeClose(Cancel As Boolean)
      If ThisWorkbook.Saved Then
      ‘código para ocultar hojas
      End If
      End Sub

  3. german says:

    Sos un capo Sergio, ahora se cierra el form al seleccionar.

    Lo que no me funciona es para ocultar las hojas al salir, ¿es posible que falte el código después del “Then” en lo que me escribiste arriba?

    Te agradezco muchísimo.

  4. german says:

    Espectacular Sergio, mil gracias de nuevo.
    Una sola cosa más, me acabo de dar cuenta. Necesitaría que las hojas se oculten tanto si guardo como si no guardo los cambios al cerrar. Con el código que me has proporcionado, sólo se ocultan si no guardo los cambios. ¿Será posible? Gracias.

    • Ojo, si no guardas los cambios estás aceptando que nada de lo que hiciste quieres conservarlo.

      Lo que te sugiero es que ocultes las hojas al inicio, antes de mostrar el formulario. Con eso aseguras que siempre estén ocultas y sólo las muetras con el formulario.

  5. german says:

    Ok Sergio, voy a intentar hacerlo por mi mismo con los códigos que me fuiste pasando, alterando el orden de las acciones, si no lo logro te volveré a molestar. Saludos.

  6. german says:

    Hola Sergio, con el objeto de ocultar al inicio, he modificado la macro en el módulo thisWorkbook tal como la transcribo debajo, pero me marca un error de compilación al abrir, por favor te pido si puedes decirme que estoy haciendo mal:

    Private Sub Workbook_Open(Cancel As Boolean)
    If ThisWorkbook.Saved Then
    Sheets(“RULEMANES”).Visible = False
    Sheets(“SKF”).Visible = False
    Sheets(“AMORTIGUADORES”).Visible = False
    Sheets(“RETENES”).Visible = False
    End If
    UserForm1.Show
    End Sub

    Saludos,

    • El evento Open no tiene parámetros entre paréntesis. Se usa diferente al Before_Close

      Usa la macro así:

      Private Sub Workbook_Open()
      Sheets(“RULEMANES”).Visible = False
      Sheets(“SKF”).Visible = False
      Sheets(“AMORTIGUADORES”).Visible = False
      Sheets(“RETENES”).Visible = False
      UserForm1.Show
      End Sub

      Eliminé la validación de si el archivo estaba guardado, ya que al inicio es obvio que tiene las últimas modificaciones cuando se cerró la última vez.

  7. german says:

    Ok, solucionado, un millón de gracias, el blog es excelente.

  8. Renan Luque says:

    POR FAVOR NO PUEDO DESCARGAR EL ARCHIVO AL PARECER YA SE BORRO DE TU SERVIDOR, ENVÍAMELO A MI CORREO TE LO VOY A AGRADECER MUCHÍSIMO.

Leave a Reply

Your email address will not be published.

%d bloggers like this: