• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Tutorial Excel

Aprende Excel

¡¡¡Más de 300 lecciones de Excel GRATIS!!!
  • Inicio
  • Blog
  • Funciones
  • Gráficos
  • Trucos
  • Macros
  • Generalidades

Macro para proteger (y desproteger) todas las hojas de un libro en Excel

Cuando trabajamos con cuadernos de mando complejos, presupuestos anuales o modelos financieros que contienen decenas de pestañas, garantizar la seguridad de la información es prioritario. Si compartimos el archivo con otros departamentos o clientes, es crucial bloquear las celdas con fórmulas para evitar que alguien altere la lógica de cálculo por accidente.

Sin embargo, Excel tiene una limitación molesta: no permite proteger múltiples hojas a la vez de forma nativa. Si seleccionas varias pestañas agrupándolas con la tecla Ctrl, comprobarás que en la cinta de opciones la función de Proteger hoja se deshabilita por completo.

Ir hoja por hoja activando la protección manual puede llevarte mucho tiempo y generar errores si te olvidas de alguna pestaña. En esta guía te proporcionamos las macros definitivas en VBA para proteger y desproteger todas las hojas de tu libro en un solo clic, incluyendo opciones avanzadas con contraseña interactiva.

1. Macro básica para proteger todas las hojas automáticamente

Para automatizar este proceso, utilizaremos un bucle en Visual Basic que recorrerá cada una de las pestañas activas en el libro y les aplicará la clave de seguridad definida.

Paso 1: Inserción del código en el editor VBE

  1. Abre tu libro de trabajo y presiona la combinación de teclas Alt + F11 para abrir el editor de Visual Basic.
  2. En el menú superior, haz clic en Insertar > Módulo.
  3. Copia y pega el siguiente código en la pantalla blanca central:

VBA

Sub ProtegerTodasLasHojas()
    'Macro para proteger todas las hojas de un libro automáticamente
    Dim wksht As Worksheet
    
    'Recorremos cada hoja del libro activo
    For Each wksht In ActiveWorkbook.Worksheets
        'Aplicamos la protección con contraseña
        wksht.Protect Password:="contraseña"
    Next wksht
    
    MsgBox "¡Todas las hojas han sido protegidas correctamente!", vbInformation, "Éxito"
End Sub

(Nota: En este ejemplo hemos definido la clave "contraseña". Puedes cambiar el texto entre comillas por la clave secreta que tú elijas).

Paso 2: Guardado del archivo

Al contener código de programación, recuerda que debes hacer clic en Guardar como y seleccionar el tipo de documento Libro de Excel habilitado para macros (*.xlsm) para no perder tus rutinas al cerrar el programa.

2. Macro para desproteger todas las hojas de golpe

Si necesitas hacer modificaciones masivas en tus plantillas o actualizar formulas en varias pestañas, desprotegerlas una a una desde el menú Revisar > Desproteger hoja e introducir la clave en cada pestaña resulta aburrido y poco eficiente.

Para revertir el proceso al instante, añade esta segunda macro a tu Módulo de VBA:

VBA

Sub DesprotegerTodasLasHojas()
    'Macro para desproteger todas las hojas del libro activo
    Dim wksht As Worksheet
    
    On Error Resume Next 'Evita que el programa se detenga si la clave es incorrecta
    
    For Each wksht In ActiveWorkbook.Worksheets
        'Retiramos la protección usando la clave configurada
        wksht.Unprotect Password:="contraseña"
    Next wksht
    
    MsgBox "¡Todas las hojas han sido desprotegidas!", vbInformation, "Proceso Completado"
End Sub

3. Versión Avanzada e Interactiva: Petición de contraseña mediante InputBox

Tener la contraseña escrita a fuego dentro del código del módulo (Password:="contraseña") tiene un inconveniente: si un usuario con conocimientos básicos presiona Alt + F11, podrá ver la clave escrita en texto plano dentro de la macro.

Para solucionar esto y aportar un salto de calidad profesional a tus herramientas de trabajo, podemos hacer que la macro despliegue un cuadro emergente pidiéndote la contraseña en tiempo real antes de ejecutar la acción:

VBA

Sub ProtegerHojasInteractivas()
    Dim wksht As Worksheet
    Dim MiClave As String
    
    'Solicitamos la clave al usuario mediante una ventana emergente
    MiClave = InputBox("Introduce la contraseña para proteger todas las hojas:", "Seguridad de la Hoja")
    
    'Si el usuario cancela o deja el cuadro vacío, cancelamos la operación
    If MiClave = "" Then Exit Sub
    
    For Each wksht In ActiveWorkbook.Worksheets
        wksht.Protect Password:=MiClave
    Next wksht
    
    MsgBox "Protección aplicada con éxito en todo el libro.", vbInformation, "Atención"
End Sub

Con este método, la clave nunca queda guardada de forma rígida dentro del código, ofreciendo flexibilidad absoluta para que cambies de contraseña cuando lo necesites sin modificar el script de programación.

Cómo ejecutar las macros en tu día a día

Una vez creadas las rutinas dentro del módulo, ponerlas en marcha es facilísimo:

  1. Presiona la combinación de teclas Alt + F8 (o dirígete a la pestaña Programador/Desarrollador > Macros).
  2. Selecciona la rutina que deseas activar (por ejemplo, ProtegerTodasLasHojas o DesprotegerTodasLasHojas).
  3. Haz clic en el botón Ejecutar.

Visualmente la pantalla no parpadeará, pero al intentar hacer doble clic sobre cualquier celda para editar su contenido, Excel bloqueará la acción y desplegará el aviso oficial indicando que la hoja se encuentra protegida contra escritura.

Consideraciones técnicas y errores habituales

Para garantizar que la macro se ejecute sin contratiempos en tus modelos financieros, ten en cuenta las siguientes recomendaciones de auditoría:

  • Hojas muy ocultas (VeryHidden): Las macros basadas en el bucle For Each wksht In ActiveWorkbook.Worksheets protegerán y desprotegerán todas las pestañas sin importar su nivel de visibilidad, garantizando que no queden datos expuestos en segundo plano.
  • Proteger la estructura global del libro: Recuerda que la propiedad wksht.Protect bloquea el contenido de las celdas dentro de la hoja, pero no impide que un usuario haga clic derecho sobre la pestaña inferior y la elimine o cambie su nombre. Para blindar los nombres y el orden de las pestañas, combina esta solución con el menú Revisar > Proteger libro (Estructura y ventanas).
  • Gestión de claves olvidadas: Asegúrate de guardar la contraseña en un gestor seguro de credenciales. Si proteges un libro entero con una clave compleja mediante VBA y se te olvida, las funciones de recuperación nativas de Excel son limitadas.

 

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Barra lateral principal

Buscar

Más de 300 trucos de Excel ¡¡¡GRATIS!!!

¡¡¡Más de 300 videos!!! gratis

Entradas y Páginas Populares

  • Excel 2010
    Excel 2010
  • Función PRONOSTICO.LINEAL en Excel
    Función PRONOSTICO.LINEAL en Excel
  • Los SUBTOTALES en Excel
    Los SUBTOTALES en Excel
  • Función SI.CONJUNTO en Excel
    Función SI.CONJUNTO en Excel
  • Tablas de datos en Excel
    Tablas de datos en Excel

Síguenos

  • Facebook
  • Instagram
  • YouTube
  • TikTok
Para aprovechar al máximo el potencial de Excel. Desde un nivel básico hasta un nivel experto.

Ir al blog

Mi canal de Youtube

Contacto

No te pierdas las novedades

100% libre de spam.

Sobre mí                            Aviso legal                            Política de privacidad y cookies

Gestionar el consentimiento de las cookies
Las cookies se utilizan para la personalización de anuncios".
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu Proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
  • Administrar opciones
  • Gestionar los servicios
  • Gestionar {vendor_count} proveedores
  • Leer más sobre estos propósitos
Ver preferencias
  • {title}
  • {title}
  • {title}