Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

101 Trucos de Excel: Ejecutar macros en hojas protegidas de Excel: Aprende cómo hacerlo #77

Ejecutar macros en hojas protegidas de Excel: Aprende cómo hacerlo

¿Sabías que al proteger una hoja de Excel, no solo se bloquean las celdas, sino también la ejecución de macros? En este artículo te mostramos cómo configurar tus macros VBA para que funcionen incluso en hojas protegidas, manteniendo la seguridad y optimizando tus tareas.


¿Por qué proteger una hoja y usar macros a la vez?

Proteger hojas en Excel es una medida fundamental para evitar modificaciones accidentales o no autorizadas. Sin embargo, esta protección también impide la ejecución de macros, lo que puede ser un inconveniente si dependes de estas herramientas para automatizar tareas.

El truco que compartimos aquí te permitirá desbloquear temporalmente la hoja mientras el macro se ejecuta y, al finalizar, volver a protegerla automáticamente.


Paso a paso: Configura tus macros para hojas protegidas

1. Activa el botón de Programador

Si aún no lo tienes habilitado, sigue estos pasos:

  1. Ve a Archivo > Opciones > Personalizar cinta de opciones.
  2. Marca la casilla de Programador y haz clic en Aceptar.

2. Agrega los comandos necesarios a tu macro

El truco consiste en usar los comandos Unprotect y Protect antes y después del código principal de tu macro. Estos comandos desbloquean temporalmente la hoja, ejecutan el código y luego la vuelven a proteger.

A continuación, un ejemplo básico de cómo se vería tu macro:

Private Sub Worksheet_Activate()
Me.Unprotect Password:="tucontraseña"

' Aquí va el código de tu macro
MsgBox "Macro ejecutado con éxito"

Me.Protect Password:="tucontraseña"
End Sub

3. Guarda el archivo como un libro habilitado para macros

Recuerda guardar tu archivo con la extensión .xlsm para que los macros puedan ejecutarse.

4. Prueba tu macro

  1. Protege la hoja desde Revisar > Proteger hoja.
  2. Ejecuta tu macro. Verás que funciona correctamente, y al finalizar, la hoja vuelve a quedar protegida.

Caso práctico: Ejecutar una macro en una hoja protegida

Supongamos que tienes una hoja con datos sensibles y una tabla dinámica que necesita actualizarse automáticamente. Para que el macro funcione en una hoja protegida, el código debe desbloquear la hoja temporalmente, actualizar la tabla y volver a protegerla.

El siguiente código muestra cómo hacerlo:

Private Sub Worksheet_Activate()
Me.Unprotect Password:="1234"

' Actualizar tabla dinámica
Me.PivotTables("NombreDeTuTablaDinamica").PivotCache.Refresh

Me.Protect Password:="1234"
End Sub

Con este ejemplo, la hoja permanecerá protegida todo el tiempo, excepto durante la ejecución del macro.


Beneficios de este truco

  • Seguridad garantizada: Proteges tus datos sin renunciar a la funcionalidad de los macros.
  • Automatización fluida: Los macros se ejecutan sin interrupciones en hojas protegidas.
  • Mayor control: Configuras tus macros para trabajar exactamente como necesitas.

Ejecutar macros en hojas protegidas de Excel ya no será un desafío con este sencillo truco. Usar los comandos Unprotect y Protect dentro de tu código VBA te permitirá disfrutar de lo mejor de ambos mundos: seguridad y funcionalidad.


¿Quieres aprender más trucos de Excel? Visita fernandojuca.com y explora artículos, ejemplos prácticos y recursos que te ayudarán a convertirte en un experto en Excel. ¡No olvides compartir este contenido con otros entusiastas de la productividad!

Previous Post
Next Post