Al ejecutar macro se desprotege la hoja

23/01/2007 - 13:14 por Fidel | Informe spam
He visto en este grupo varias macros que se supone deberían haberme
ayudado sin embargo no he conseguido que me sirvan, seguramente porque
no las he colocado de la forma correcta. En fin, mi problema es que
tengo una macro que al ejecutarla con la hoja protegida me la
desprotege y no se que código meterle para que funcione correctamente.
Utilizo XL2000. La macro en cuestion es la siguiente:

Private Sub CommandButton1_Click()
Range("b138").Sort Key1:=Range("f138"), Order1:= _
xlDescending, Header:=xlGuess, OrderCustom:=6, _
MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Espero que alguien de por aqui me pueda ayudar.
Muchas Gracias

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
24/01/2007 - 06:18 | Informe spam
hola Fidel !

... mi problema es que tengo una macro que al ejecutarla con la hoja protegida me la desprotege
y no se que codigo meterle para que funcione correctamente... La macro en cuestion es la siguiente:
Private Sub CommandButton1_Click()
Range("b138").Sort Key1:=Range("f138"), Order1:= _
xlDescending, Header:=xlGuess, OrderCustom:=6, _
MatchCase:=False, Orientation:=xlTopToBottom
End Sub



1) [hasta donde se] cuando haces un 'sort' en una hoja protegida por codigo..
[aun por codigos 'permitidos']... se ocasiona que se pierda la proteccion en dicha hoja...
por lo que se vuelve necesario volver a aplicarle su proteccion [obviamente] luego de haber hecho el 'sort' :-(

2) 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'

si cualquier 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 [supoiendo 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 y objetos incrustados] :-((
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida