Desproteger hoja

Macro para desproteger una hoja de Excel con VBA

octubre 26, 2026 Tuto Excel 11 min read
Macro para desproteger una hoja de Excel con VBA

Una macro para desproteger una hoja de Excel con VBA es útil cuando el archivo es tuyo, la hoja está protegida para evitar cambios accidentales y conoces la contraseña. Al terminar, tendrás una hoja Ventas preparada en un libro .xlsm y una macro que quita su protección con Unprotect.

La idea no es descifrar el archivo ni abrir un libro protegido para editarlo. Excel mantiene esa diferencia entre la protección de una hoja y el cifrado de apertura.

Nota: los datos y el funcionamiento de este tutorial están comprobados en octubre de 2026.

Qué puede y qué no puede hacer una macro de protección

Imagina que tienes un libro de ventas. La hoja Ventas contiene estas seis filas:

A1fx**Producto**
A B C
1 Producto Precio Cantidad
2 Lapiz 1,50 10
3 Cuaderno 3,20 5
4 Goma 0,80 12
5 Bolígrafo 1,10 8
6 Folder 2,50 6
Ventas

Al protegerla, las celdas quedan bloqueadas para evitar que alguien borre o cambie accidentalmente los datos. Una macro puede ejecutar Unprotect para quitar esa protección cuando conoce la contraseña y tiene permiso para modificar el archivo.

La macro no puede:

  • Descifrar un libro protegido mediante contraseña de apertura.
  • Convertir una hoja protegida en editable sin autorización.
  • Adivinar de forma fiable cualquier contraseña, especialmente si es larga o compleja.
  • Sustituir una copia de seguridad.
  • Eliminar la protección interna de un archivo que no le pertenece.

En este tutorial usaremos la contraseña conocida Ventas2026 y una copia autorizada del libro.

Cuidado: una macro que pruebe muchas combinaciones puede tardar mucho y no garantiza encontrar la clave. No la utilices sobre archivos ajenos.

La diferencia entre proteger una hoja y cifrar un libro

Son dos controles distintos:

  • Proteger hoja: limita cambios en las celdas de una hoja. Se usa para reducir errores de edición.
  • Cifrar con contraseña: impide abrir el archivo hasta introducir la contraseña.

La protección de hoja se gestiona desde esta ruta:

RevisarProtegerProteger hoja

Para quitarla, vuelve a la misma sección y utiliza Desproteger hoja si conoces la clave.

El cifrado de apertura está en otra ruta:

ArchivoInformaciónProteger libroCifrar con contraseña

No es lo mismo. Una macro que llama a Unprotect puede actuar sobre una hoja protegida, pero no elimina el cifrado que impide abrir el libro.

Control Qué protege ¿La macro VBA lo elimina?
Protección de hoja Cambios accidentales en las celdas Sí, con contraseña conocida
Cifrado de apertura La apertura del libro No
Macros guardadas en .xlsx El código VBA no se conserva Debes guardar como .xlsm

Si necesitas una macro, guarda el libro como Libro de Excel habilitado para macros (.xlsm). Un .xlsx es el formato normal de un libro sin macros.

Cuidado: proteger una hoja no cifra el contenido. Para información confidencial, usa el cifrado de libro aprobado por el propietario.

Cómo preparar el libro y abrir el editor de VBA

Para practicar con el mismo libro, añade una columna Observaciones y deja editables sus celdas antes de proteger la hoja. La tabla quedará así:

A1fx**Producto**
A B C D
1 Producto Precio Cantidad Observaciones
2 Lapiz 1,50 10 Revisar stock
3 Cuaderno 3,20 5 Pedido 12
4 Goma 0,80 12 Sin cambios
5 Bolígrafo 1,10 8 Reponer reponer
6 Folder 2,50 6 Guardar sobrio
Ventas

Sustituye el texto de ejemplo por estas observaciones:

  • Lapiz: Revisar stock
  • Cuaderno: Pedido 12
  • Goma: Sin cambios
  • Bolígrafo: Reponer
  • Folder: Guardar

Ahora haz estos pasos:

  1. Selecciona D2:D6.
  2. Abre Ctrl+1.
  3. En Formato de celdas, ve a Protección.
  4. Desactiva Bloqueado.
  5. Acepta.
  6. Selecciona una celda cualquiera de la hoja.
  7. Abre Revisar > Proteger > Proteger hoja.
  8. Escribe Ventas2026 y acepta.

Guarda el libro como .xlsm:

  1. Pulsa F12 o abre Archivo > Guardar como.
  2. Elige un nombre, por ejemplo Ventas_protegidas.
  3. En Tipo, selecciona *Libro de Excel habilitado para macros (.xlsm)**.
  4. Guarda y acepta la advertencia deextension.

Después abre el editor de VBA con Alt+F11. En Windows, elige Insertar > Módulo. El módulo nuevo aparece dentro del proyecto del libro. En Mac, el atajo puede variar; también puedes abrir el editor desde las herramientas de desarrollo de Excel.

Comprueba: el libro está guardado como .xlsm, la hoja Ventas muestra los seis productos y el editor de VBA contiene un módulo vacío.
Nota: el nombre del grupo de la pestaña Inicio en la ayuda oficial es Edición; algunas traducciones lo muestran como Modificar.

Una macro VBA que elimina la protección de una hoja

En el módulo abierto, pega este código completo:

Sub DesprotegerVentas()
    On Error GoTo ManejoError

    ThisWorkbook.Worksheets("Ventas").Unprotect Password:="Ventas2026"

    ThisWorkbook.Worksheets("Ventas").Range("B2").Formula = "=C2*A2"

    MsgBox "Hoja desprotegida", vbInformation, "Ventas"
    Exit Sub

ManejoError:
    MsgBox "No se pudo desproteger la hoja: " & Err.Description, _
           vbExclamation, "Ventas"
End Sub

La macro hace tres cosas:

  1. Busca la hoja llamada exactamente Ventas dentro de ThisWorkbook.
  2. Envía la contraseña Ventas2026 a Unprotect.
  3. Escribe en B2 la fórmula =C2*A2 y muestra Hoja desprotegida.

Ejecuta la macro así:

  1. En el editor de VBA, selecciona DesprotegerVentas.
  2. Pulsa F5.
  3. Acepta el cuadro de diálogo.
  4. Vuelve a la hoja Ventas.

Al terminar, la hoja debe verse así:

B2fx=C2*A2
A B C D
1 Producto Precio Cantidad Observaciones
2 Lapiz 15,00 10 Revisar stock
3 Cuaderno 16,00 5 Pedido 12
4 Goma 9,60 12 Sin cambios
5 Bolígrafo 8,80 8 Reponer
6 Folder 15,00 6 Guardar
Ventas

En la salida del programa aparece exactamente:

Hoja desprotegida
Comprueba: B2 muestra 15,00 y puedes modificar las celdas de D2:D6.

Buscar una contraseña conocida y ejecutarla de forma segura

Si el propietario te proporciona otra contraseña, cambia únicamente el argumento Password. Esta versión evita guardar la clave dentro del código y la solicita al ejecutar la macro:

Sub DesprotegerVentasConClave()
    Dim clave As String

    clave = InputBox("Escribe la contraseña de la hoja Ventas:")
    If clave = "" Then Exit Sub

    On Error GoTo ManejoError

    ThisWorkbook.Worksheets("Ventas").Unprotect Password:=clave
    MsgBox "Hoja desprotegida", vbInformation, "Ventas"
    Exit Sub

ManejoError:
    MsgBox "La contraseña no coincide o la hoja tiene otra protección.", _
           vbExclamation, "Ventas"
End Sub

Para ejecutarla:

  1. Guarda una copia del libro antes de probarla.
  2. Abre Alt+F11.
  3. Ejecuta DesprotegerVentasConClave con F5.
  4. Escribe la contraseña proporcionada por el propietario.
  5. Comprueba que la hoja se puede editar.
  6. Guarda el libro como .xlsm.

La macro solo debe usarse cuando:

  • El archivo es tuyo o tienes autorización.
  • Conoces la contraseña.
  • Has hecho una copia de seguridad.
  • No intentas eludir una protecciónplaced por otra persona.
Nota: una macro de fuerza bruta con muchos bucles anidados puede tardar mucho y no es una solución adecuada para archivos ajenos.
Consejo: usa InputBox si quieres evitar guardar la contraseña en el módulo. Para uso interno y controlado, también puedesGuardar la clave en una ubicación segura del proceso autorizado.

Por qué la macro no se ejecuta o no desprotegra la hoja

Estos son los fallos más habituales:

La macro desaparece al guardar

Qué se ve: después de guardar como .xlsx, el módulo VBA no aparece al volver a abrir.

Causa: el formato .xlsx no conserva macros.

Arreglo: guarda el libro como *Libro de Excel habilitado para macros (.xlsm)** antes de cerrar el editor.

Excel bloquea las macros descargadas

Qué se ve: el código no aparece o Excel muestra una advertencia de seguridad.

Causa: el archivo descargado puede conservar una marca de origen externo.

Arreglo: si el archivo es propio o estás autorizado, abre Archivo > Propiedades y revisa General. Marca Desbloquear y vuelve a abrirlo. No lo hagas con archivos desconocidos.

El nombre de la hoja no coincide

Qué se ve: aparece un error y la macro no encuentra la hoja.

Causa: el código busca Ventas, pero el nombre real es Ventas_Q1 o Ventas2.

Arreglo: comprueba el nombre en la pestaña de la hoja y ajusta Worksheets("Ventas").

Se está ejecutando desde otro libro

Qué se ve: la macro aparece en un archivo que no contiene la hoja esperada.

Causa: hay varios libros abiertos y se ejecutó el módulo equivocado.

Arreglo: en el editor, selecciona el proyecto del libro correcto antes de pulsar F5.

A1fx**Producto**
A B
1 Producto Precio
2 Lapiz 1,50
3 Cuaderno 3,20
4 Goma 0,80
5 Bolígrafo 1,10
6 Folder 2,50
Ventas
Comprueba: la hoja sigue llamándose Ventas y el módulo pertenece al mismo libro que contiene esos datos.

Qué alternativas existen cuando no existe una macro fiable

Si no existe una macro fiable o no conoces la contraseña, usa la vía compatible con el tipo de protección:

Situación Alternativa
Conoces la contraseña de la hoja Revisar > Proteger > Desproteger hoja
No conoces la contraseña Solicitar una copia sin protección al propietario
Solo algunas celdas deben editarse Desbloquearlas antes de proteger la hoja
El libro está cifrado para abrirlo Usar la contraseña de apertura; VBA no la elimina
La macro está bloqueada Desbloquear solo un archivo propio o autorizado
El archivo no es editable Trabajar en un libro nuevo con una copia autorizada

Para cambiar qué celdas pueden editarse:

InicioCeldasFormatoFormato de celdas

En Protección, desactiva Bloqueado para las celdas editables. Después protege de nuevo la hoja:

RevisarProtegerProteger hoja

Si el libro está cifrado con contraseña de apertura, una macro no puede eliminar esa barrera. Desbloquear la macro en Propiedades tampoco elimina el cifrado del libro.

Este tutorial no enseña a cambiar la extensión del archivo, editar sus archivos internos en formato ZIP ni usar herramientas externas para reconstruir el libro. Esas técnicas pueden dañar el archivo y no son necesarias cuando trabajas con una copia autorizada.

Cuidado: convertir el libro a CSV no conserva fórmulas, formatos ni el resto de hojas.

Lo que ya sabes hacer con una macro para desproteger

  • Identificar si lo bloqueado es una hoja, una celda o el cifrado de apertura.
  • Preparar una hoja Ventas con una columna editable.
  • Guardar el libro como .xlsm antes de añadir VBA.
  • Abrir Alt+F11 e insertar un módulo.
  • Usar Unprotect Password:="Ventas2026" en una macro autorizada.
  • Ejecutar la macro con F5 y comprobar que aparece Hoja desprotegida.
  • Corregir fallos de extensión, bloqueo de macros, nombre de hoja y libro seleccionado.

Para dejar el libro protegido de nuevo pero permitir cambios únicamente en las celdas necesarias, selecciona esas celdas y quita Bloqueado en Ctrl+1, en Protección. Después vuelve a:

RevisarProtegerProteger hoja

El siguiente paso es definir qué datos deben permanecer bloqueados y colocar la contraseña únicamente en el proceso autorizado.

Dudas al usar una macro para desproteger Excel

1. ¿Cómo desproteger una hoja de Excel si olvidé la contraseña?

Si conoces la contraseña, usa Revisar > Desproteger hoja, introdúcela y acepta. Si no la conoces y el archivo es tuyo, recupera una copia sin protección o pide al propietario una versión editable. Una macro no elimina el cifrado de apertura ni garantiza adivinar cualquier contraseña.

2. ¿Cómo desproteger una hoja de Excel online?

En Excel para la web, comprueba si el archivo solo tiene una hoja protegida o un cifrado de apertura. Si conoces la clave, utiliza la opción de desproteger que ofrezca el servicio. Si no aparece o no permite quitarla, descarga una copia y trabaja con el propietario del archivo.

3. ¿Cómo desproteger una hoja de Excel bloqueada?

Una hoja protegida evita cambios accidentales, pero se puede quitar si conoces su contraseña. Selecciona la hoja y utiliza Revisar > Proteger > Desproteger hoja. También puedes dejar editables algunas celdas antes de protegerla mediante Formato de celdas > Protección.

4. ¿Cómo desbloquear Excel online con iLovePDF?

iLovePDF es un servicio externo y no sustituye a la protección de Excel ni garantiza que quite una hoja protegida. Si el archivo es tuyo, conserva una copia y utiliza Excel para la web o la aplicación de escritorio. Para información confidencial, evita subir el libro a herramientas externas no autorizadas.

5. ¿Cómo desproteger una hoja de Excel XLSM?

Guarda el libro como Libro de Excel habilitado para macros (.xlsm), abre el editor con Alt+F11, inserta un módulo y ejecuta una macro que utilice la contraseña conocida. Si el archivo sigue protegido, comprueba que la macro está en el libro correcto y que la hoja se llama exactamente «Ventas».

6. ¿Cómo desbloquear un archivo de Excel para editarlo?

Primero identifica qué está bloqueado: una hoja, las celdas o el cifrado de apertura. Para una hoja, Revisar > Proteger > Desproteger hoja es la vía normal si conoces la contraseña. Para un libro cifrado no existe una macro VBA que permita quitar la clave de apertura.

7. ¿Qué programa se usa para quitar una contraseña de Excel?

Excel permite quitar la protección de una hoja desde Revisar > Desproteger hoja cuando se conoce la contraseña. VBA también puede quitarla mediante Unprotect, pero solo dentro de un libro autorizado y con una clave conocida. Ninguna de esas opciones descifra un libro protegido para abrirlo.

8. ¿Cómo saber la contraseña de una hoja de Excel bloqueada?

Excel no muestra la contraseña de una hoja protegida. Si no la recuerdas, revisa tus Contraseñas guardadas, el historial del archivo o pide una copia nueva al propietario. Las macinas de fuerza bruta no son fiables para claves complejas y no deben usarse sobre archivos ajenos.

Fuentes

  1. Microsoftcomo desbloquear macros en excel – Microsoft Q&Aconsultado el 22/10/2026
  2. MicrosoftHOJA — documentación oficialconsultado el 22/10/2026
  3. MicrosoftProteger hoja y libro — documentación oficialconsultado el 22/10/2026
  4. MicrosoftEl editor de VBA y la primera macro — documentación oficialconsultado el 22/10/2026
  5. MicrosoftAtajos que funcionan igual en cualquier idioma — documentación oficialconsultado el 22/10/2026