Desproteger para Ordenar

20/05/2005 - 19:08 por AnGeLo | Informe spam
Buenas tardes Grupos,

Necesito ejecutar una macro para ordenar unos datos pero ay ciertas columnas
protegidas, asi q no me deja ordenarlas, como puedo hacer para q cuando
ejecuto la macro me desproteja la hoja, despues me ejecute la macro q ordena
y despue me vuelva a proteger la hoja? adjunto el codigo q uso:

Sub ordenar2()
Application.ScreenUpdating = False
Rows("6:6").Select
Range(Selection, Selection.End(xlDown)).Select
Rows("6:146").Select
Range(Selection, Selection.End(xlDown)).Select
Rows("6:65534").Select
Range(Selection, Selection.End(xlUp)).Select
Rows("6:179").Select
Selection.Sort Key1:=Range("A6"), Order1:=xlAscending, Key2:=Range("D6")
_
, Order2:=xlAscending, Key3:=Range("E6"), Order3:=xlAscending,
Header:= _
xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B6").Select
Application.ScreenUpdating = True
End Sub


Saludos,

Angelo Vernaza
"La única vez que me eh equivocado, fue cuando pensé que me habia
equivocado"

Preguntas similare

Leer las respuestas

#1 KL
20/05/2005 - 20:00 | Informe spam
Hola Angelo,

Dos formas:

1) Modificando tu macro:

Sub ordenar2()
CLAVE = "abracadabra" 'aqui va tu clave
Application.ScreenUpdating = False
With ActiveSheet
.Unprotect CLAVE
.Rows("6:179").Sort Key1:=.Range("A6"), _
Order1:=xlAscending, Key2:=.Range("D6"), _
Order2:=xlAscending, Key3:=.Range("E6"), _
Order3:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
.Range("B6").Select
.Protect CLAVE
End With
Application.ScreenUpdating = True
End Sub

2) Añadiendo el siguiente codigo en el modulo de ThisWorkbook (EsteLibro) y
usando tu macro original ligeramente depurado. el codigo supone que tu hoja
se llama "Hoja1", si no, cambia el nombre al que tiene en realidad:

'-En el modulo ThisWorkbook-
Private Sub Workbook_Open()
CLAVE = "abracadabra" 'aqui va tu clave
Me.Sheets("Hoja1").Protect password:=CLAVE, _
UserInterfaceOnly:=True
End Sub

'-En el mismo modulo donde estaba antes-
Sub ordenar2()
Application.ScreenUpdating = False
With ActiveSheet
.Rows("6:179").Sort Key1:=.Range("A6"), _
Order1:=xlAscending, Key2:=.Range("D6"), _
Order2:=xlAscending, Key3:=.Range("E6"), _
Order3:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
.Range("B6").Select
End With
Application.ScreenUpdating = True
End Sub

Saludos,
KL
Respuesta Responder a este mensaje
#2 AnGeLo
20/05/2005 - 20:35 | Informe spam
KL, Muchas gracias funcionó a las mil maravillas, utilize la primera opción,
para no tener mas códigos,

Saludos,

Angelo Vernaza
"La única vez que me eh equivocado, fue cuando pensé que me habia
equivocado"

"KL" escribió en el mensaje
news:
Hola Angelo,

Dos formas:

1) Modificando tu macro:

Sub ordenar2()
CLAVE = "abracadabra" 'aqui va tu clave
Application.ScreenUpdating = False
With ActiveSheet
.Unprotect CLAVE
.Rows("6:179").Sort Key1:=.Range("A6"), _
Order1:=xlAscending, Key2:=.Range("D6"), _
Order2:=xlAscending, Key3:=.Range("E6"), _
Order3:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
.Range("B6").Select
.Protect CLAVE
End With
Application.ScreenUpdating = True
End Sub

2) Añadiendo el siguiente codigo en el modulo de ThisWorkbook (EsteLibro)


y
usando tu macro original ligeramente depurado. el codigo supone que tu


hoja
se llama "Hoja1", si no, cambia el nombre al que tiene en realidad:

'-En el modulo ThisWorkbook-
Private Sub Workbook_Open()
CLAVE = "abracadabra" 'aqui va tu clave
Me.Sheets("Hoja1").Protect password:=CLAVE, _
UserInterfaceOnly:=True
End Sub

'-En el mismo modulo donde estaba antes-
Sub ordenar2()
Application.ScreenUpdating = False
With ActiveSheet
.Rows("6:179").Sort Key1:=.Range("A6"), _
Order1:=xlAscending, Key2:=.Range("D6"), _
Order2:=xlAscending, Key3:=.Range("E6"), _
Order3:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
.Range("B6").Select
End With
Application.ScreenUpdating = True
End Sub

Saludos,
KL


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida