Cómo forzar habilitar macros en Excel

Cómo habilitar macros de Excel

Para usar cualquier macro en Excel, sus usuarios deben "habilitar" las macros. Es decir, deben otorgar permiso a Excel para usar ejecutar macros en su entorno. Pueden hacer esto haciendo clic en la Advertencia de seguridad que aparece sobre la barra de fórmulas.

Ahora, para forzar habilitar macros, se agrega una hoja de Excel apertura que cuando se abre el libro de trabajo es la única hoja que está visible. Y un botón que muestra las hojas usando VBA. Como las hojas se ocultarán a través de VBA, estarán "muy ocultas", lo que significa que no se pueden ocultar utilizando los menús.

La parte que se torna un poco más complicada es la parte del ahorro, debido a que se tiene que anular el guardado de hojas para que no puedan usar el botón de guardar manual.

Forzar habilitar macros en Excel

Para usar cualquier macro en Excel, sus usuarios deben habilitar macros. Es decir, deben dar permiso a Excel para ejecutar macros en su entorno. Para habilitar macros, solo debes hacer clic en el botón Habilitar contenido que se encuentra en la advertencia de seguridad que aparece sobre la barra de fórmulas.

La conclusión es que puedes escribir todas las macros de fantasía en el mundo, pero nunca se ejecutarán a menos que sus usuarios habiliten macros. Esto plantea la siguiente pregunta; ¿Se puede obligar a los usuarios a habilitar macros? La respuesta es sí, con un pequeño truco.

La idea es relativamente simple; solo debes crear una hoja llamada, digamos que INICIAR. Esa hoja contiene solo una advertencia simple que indica que las macros deben estar habilitadas. A continuación, oculta todas las hojas en el libro de Excel excepto por esa hoja de INICIO. Finalmente, escribe una macro simple que muestra todas las hojas cuando se abre el libro de trabajo.

En este punto, cuando se abre el libro de trabajo, Excel te pedirá que habilites las macros. De tal modo que los usuarios se verán obligados a hacerlo porque todo lo que verán es su hoja de Inicio debido a que el resto de las hojas estarán ocultas.

Para que esta técnica funcione necesitas dos macros: una macro oculta todas menos la hoja INICIAR cuando se cierra el libro de trabajo, y otra macro que muestra todo excepto la hoja COMIENZO cuando se abre el libro.

Primero, aborda las acciones que deben suceder cuando el libro de trabajo se cierre:

  • Activa el Editor de Visual Basic presionando las teclas ALT + F11 de tu teclado.
  • En la ventana del proyecto, busca el nombre de tu proyecto ó libro de trabajo y haz clic en el signo de + junto a él para ver todas las hojas.
  • Haz clic en ThisWorkbook.
  • En el cuadro desplegable Evento, selecciona el evento BeforeClose.
  • Ahora escribe o copia y pega el siguiente código VBA:Private Sub Workbook_BeforeClose(Cancel As Boolean)

    'Step 1: Declare your variables

    Dim ws As Worksheet



    'Step 2: Unhide the Starting Sheet

    Sheets("START").Visible = xlSheetVisible

    'Step 3: Start looping through all worksheets

    For Each ws In ThisWorkbook.Worksheets

    'Step 4: Check each worksheet name

    If ws.Name <> "START" Then

    'Step 5: Hide the sheet

    ws.Visible = xlVeryHidden

    End If

    'Step 6: Loop to next worksheet

    Next ws

    'Step 7: Save the workbook

    ActiveWorkbook.Save End Sub

  • ¿Te ha servido de ayuda?
  • No