Verificar si una Hoja de Calculo esta Protegida

Buenas Tardes.
Estoy realizando una macro que me proteja todas las hojas de calculo de un archivo, también tengo la macro que las desprotege.
Para ello cree un UserFroms y agregue dos botones con un campo de texto, un botón protege todas las hojas y el otro botón las desprotege.
Pero ahora estoy necesitando poder validar o verificar que las hojas estén o no proteginas, es decir, que al hacer el recorrido por cada hoja e ir verificando si están proteginas o no, si hay al menos una que este protegida, que me deshabilite el botón para bloquear las hojas.
Que solo me deje el botón de desbloquear habilitado.
Mi idea es más o menos así:
If Application.ActiveSheet.Protect = True Then
      InsertPass.DesactivarPass.Enabled = True   
Else
      InsertPass.DesactivarPass.Enabled = False  
End If
Pero este codigo Application.ActiveSheet.Protect = True no me funciona tambien probe con ProtectContents y tampoco me funciona... Y no encuentro la forma de validar si una hoja esta protegida o no...
Por favor necesito su ayuda rapido je je ya que es cuestión para el trabajo :-( de antemanos gracias por su colaboración y espero que me haya echo entender bien...

1 Respuesta

Respuesta
1
La función de más abajo te devuelve True o False según si existe o no alguna hoja protegida en el libro. Espero que te sirva de ayuda.
Saludos
Angel
++++++++++++++++++++++++++++++++++++++++++++++++++++++
Function ChequeoHojasProtegidas() As Boolean
    ChequeoHojasProtegidas = False
    For i = 1 To Sheets.Count
        If Sheets(i).ProtectContents Or _
           Sheets(i).ProtectDrawingObjects Or _
           Sheets(i).ProtectScenarios Then
              ChequeoHojasProtegidas = True
        End If
    Next
End Function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas