¿Como se puede poner un autofiltro a una hoja protegida?

11/12/2004 - 20:03 por Manuel | Informe spam
Hola ,tengo una hoja Excel a la que quiero proteger, y en ella tengo un
autofiltro para poder buscar,al proteger esta hoja el autofiltro deja de
funcionar y no es posible poner uno nuevo (la opcion de autofiltro se
inhabilita).

Teneis una solución???

Gracias

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
11/12/2004 - 20:55 | Informe spam
Si tienes Excel XP ó 2003 (creo recordar que en versiones anteriores no), puedes permitir que se usen los autofiltros activos en la hoja en el momento de protegerla, marcando la opción correspondiente en el diálogo que aparece al hacer Herramientas->Proteger->Proteger hoja. Lo que no es posible, hasta donde yo sé, es crear autofiltros en hojas protegidas, a no ser que se recurra a VBA:

Private Sub CommandButton1_Click()
Me.Unprotect "contraseña"
Selection.AutoFilter
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True, Password:="contraseña"
End Sub


El código anterior va en el módulo de la hoja (click derecho sobre su etiqueta->Ver código). Es necesario asociarlo a un botón en la hoja, y lo que hace es filtrar la selección si no hay autofiltro, y quitar los autofiltros en caso contrario.

Probablemente sería necesario modificar el código para adaptarlo a lo que realmente se necesite proteger o dejar desprotegido.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Manuel" <Manuel @discussions.microsoft.com> escribió en el mensaje news:
Hola ,tengo una hoja Excel a la que quiero proteger, y en ella tengo un
autofiltro para poder buscar,al proteger esta hoja el autofiltro deja de
funcionar y no es posible poner uno nuevo (la opcion de autofiltro se
inhabilita).

Teneis una solución???

Gracias
Respuesta Responder a este mensaje
#2 KL
11/12/2004 - 20:57 | Informe spam
Manuel,

Si hay al menos una solucion, pero es por codigo VBA. Lo q tienes q hacer es
lo suiguente:

1) Copiar el codigo de abajo en el modulo VBA del Libro. Lo mas facil es
hacer clic derecho sobre el nombre de la hoja q aparece en una de las
pestanas de la parte de abajo de la ventana de Excel y seleccionar Ver
Codigo. Se abrira el Editor VBA. Alli veras la ventana del explorador de
proyectos, donde aparecera el nombre de tu fichero con un "+" que se
despliega y entonces se pueden ver los nombres de las hojas y por ultimo el
propio Libro de Trabajo (ThisWoorkbook) con un pequeno logotipo de Excel.
Haz doble-clic sobre esta ultima linea y se te abrira la ventana del modulo
VBA del libro a la drecha. Alli es donde tienes q pegar el codigo.
2) Modificar la contrasena y el nombre de la hoja a proteger en el codigo si
es necesario.
3) Asegurarte q tienes el autofiltro aplicado a la tabla.
4) Proteger la hoja manualmente (siempre usando la misma contrasena q la q
pusiste en el macro)
5) Guardar y cerrar el fichero.

Ahora, al abrir el archivo, si los macros no se habilitan el AutoFiltro no
funcionara. Por lo tanto el usuario tiene q habilitar los macros para poder
usarlo. Entonces si se habilitan los macros, se dispara el codigo y vuelve a
proteger la hoja, pero solo el interfaz de usario y tambien habilita el
AutoFltro.

Desafotunadamente todo este procedimiento es necesario porque la proteccion
exclusiva del interfaz de usuario no se puede guardar, es decir se puede
guardar, pero pasa a ser automaticamente proteccion completa y el filtro no
funcionara si no se dispara el codigo desde VBA.

Espero no haberte liado demasiado.

Un saludo,
KL

'-Inicio Codigo-
Private Sub Workbook_Open()
With Sheets("Hoja1") 'Cambia el nombre de la hoja si es necesario
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="" 'Pon tu contrasena entre comillas
End With
End Sub
'-Fin Codigo-


"Manuel" <Manuel @discussions.microsoft.com> wrote in message
news:
Hola ,tengo una hoja Excel a la que quiero proteger, y en ella tengo un
autofiltro para poder buscar,al proteger esta hoja el autofiltro deja de
funcionar y no es posible poner uno nuevo (la opcion de autofiltro se
inhabilita).

Teneis una solucion???

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