Deprotejer hoja con macro

23/12/2007 - 08:36 por novato | Informe spam
Tengo una macro protejida con la clave "1234", necesito desprotegerla para
escribir en ella, y volver a protegerla.
Cuando la intento desprotejer con "ActiveSheet.Unprotect" me sale error.
como le puedo meter la contraseña en la macro para desprotegerla?

Gracias por anticipado.
 

Leer las respuestas

#1 Héctor Miguel
23/12/2007 - 03:03 | Informe spam
hola, !

Tengo una macro protejida con la clave "1234", necesito desprotegerla para escribir en ella, y volver a protegerla.
Cuando la intento desprotejer con "ActiveSheet.Unprotect" me sale error.
como le puedo meter la contrasena en la macro para desprotegerla?



si necesitas que la proteccion NO afecte a tus macros SIN tener que (des/re)proteger la hoja
(asumiendo que la hoja ya esta protegida)... puedes usar la instruccion de "solo interfase de usuario"
te paso unos ejemplos al final del presente y...

si cualqueir duda (o informacion adicional)... comentas ?
saludos,
hector.

ejemplos protegiendo la hoja al abrirse el libro en el modulo ThisWorkbook...

a) en excel 97 y 2000 NO necesitas repetir el password, es suficiente con poner:
Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito repetir el password
Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas (suponiendo una misma clave para todas)...
Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

(practicamente) TODO lo que hagas por codigo... pasara sin problemas
(excepto ciertas cosillas relacionadas con ordenaciones, insertar filas/columnas, objetos incrustados y algunas mas)

Preguntas similares