Macro para botar clave de varias hojas

Todas las hojas de un solo archivo estas protegidas. Deseo que con una macro botarlas todas de una sola pasada y no de una por una

1 respuesta

Respuesta

En respuesta anterior dejé la macro para todas las hojas con la misma clave.

Supongamos que haya alguna hoja que no quieras desproteger, podrías omitirla de este modo. En este caso omito la hoja llamada PORTADA:

Sub desproteccion2()
'x Elsamatilde
For Each Sh In Sheets
    If Sh.Name <> "PORTADA" Then Sh.Unprotect "tu_clave"
Next Sh
End Sub

Y si alguna(s) hoja(s) tiene(n) otra clave también se puede evaluar:

Sub desproteccion3()
'x Elsamatilde
For Each Sh In Sheets
    If Sh.Name = "PORTADA" Or Sh.Name = "MENU" Then
        Sh.Unprotect "clave_portada"
    Else
        Sh.Unprotect "clave_resto"
    End If
Next Sh
End Sub

Gracias Elsa. Quizá me falta darme mas datos:

No conozco la clave de ninguna de las hojas, solo me las dejan habilitadas las celdas que tienen texto para que yo pueda copiar y pegar a un archivo nuevo.

Tengo la macro para botar la clave de la hoja, pero el archivo que me dan tiene muchas hojas y me lleva tiempo ejecutar la macro hoja por hoja.

Si en cualquier libro seleccionas varias hojas con la tecla Ctrl presionada, y luego intentas protegerlas o desprotegerlas verás que no es posible.

Lo único que te puede ayudar es que una rutina ejecute tu macro recorriendo todas las hojas. Pero lo hará hoja por hoja.

sub desproteccion3()
For Each Sh In Sheets
    sh.select
    Call tu_macro   'aquí va el nombre de tu macro
Next Sh
End Sub

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas