Como habilitar uso de AutoFiltros en hojas protegidas.

05/01/2008 - 22:16 por De_Corando. | Informe spam
Buenas Tardes !!!

Ahora es mi turno de preguntar.
He estado usando una agenda, en la cual habilita y/o instala los
autofiltos, antes podia usarlos aun en hoja protegida, pero no se en
que momento cambie las instrucciones en los MACROS, y lo que quisiera
saber donde fue.
He buscado la manera de usarlos, pero no he dado.
Para mayor comprension, les dejo el enlace para ver el programa, donde
al hacer click en "LISTA COMPLETA CON /SIN FILTROS" se Instalan /
Desinstalan los filtros, pero lo que yo deseos es poder usarlo. El
enlace es :

http://www.box.net/shared/kgddi1gws4

El macro usado para esta funcion, es el siguiente:

Sub FiltroTel()
ActiveSheet.Unprotect Password:="XXXXXX"
Range("C3:E3").Select
Selection.ClearContents
Range("D5").Select
Selection.AutoFilter
ActiveSheet.Protect Password:="XXXXX" 'DrawingObjects:=True,
Contents:=True, Scenarios:=True _ , AllowFiltering:=True,
End Sub

Alguien podria auxiliarme?
De antemano les agradezco haberse interesado en el tema.
 

Leer las respuestas

#1 Héctor Miguel
07/01/2008 - 05:24 | Informe spam
hola, Corando !

He estado usando una agenda, en la cual habilita y/o instala los autofiltos
antes podia usarlos aun en hoja protegida, pero no se en que momento cambie las instrucciones en los MACROS
y lo que quisiera saber donde fue. He buscado la manera de usarlos, pero no he dado...



prueba a (re)proteger la hoja en el evento '_open' de tu libro (una sola vez en la sesion) estableciendo dos caracteristicas:
-> la proteccion a solo la interfase con el usuario
-> el permiso para usar los autofiltros (y esquemas) los cuales YA deberan estar presentes en tu hoja

segun las versiones a las que tengas pensado dar "soporte" para el uso de tu archivo
(recuerda que el uso de caracteristicas nuevas no tienen soporte en las versiones anteriores)...

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

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

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

OJO: si llegaras a necesitar que el usuario defina sobre que listado aplica los autofiltros...
copia/pega las siguientes lineas en un modulo de codigo 'general' y asignas la macro a algun boton/atajo/...
Option Private Module
Sub AutoFiltrosPorMacro()
With ActiveCell.CurrentRegion
If .Count > 1 Then
If .Parent.AutoFilterMode Then
If .Parent.AutoFilter.Range.Address <> .Address Then .AutoFilter
End If
.AutoFilter
Else
MsgBox """Activa"" por favor (alg)una celda" & vbCr & _
"""dentro"" (o... ""cerca"") de la lista ""a filtrar"".", _
vbInformation, "AutoFiltros por macros"
End If
End With
End Sub

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

Preguntas similares