Uatofiltro y Proteccion

19/11/2003 - 01:53 por Gerardo Roda | Informe spam
tengo una base de datos que modifico unicamente con macros. Un usuario me
pide que permita poner autofiltros, solo para ver informacion sin
modificarla. Me pareció logico. El problema es que con la hoja protegida no
funciona el autofiltro.
Hay alguna forma de mantener la proteccion de la hoja y usar el autofiltro
en ella ?

Gracias

gerardo

_________________________________________ Gerardo ICQ#:11863292 Current ICQ
status: SMS: (Send an SMS message to my ICQ): +278314211863292 More ways to
contact me: http://wwp.icq.com/11863292
_________________________________________

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
23/11/2003 - 08:11 | Informe spam
Hola, Jose Mauricio !

... pues no funciono, te doy el codigo para ... checarlo.



1.- [al ejecutar el codigo...] si te 'avisa' que la hoja esta protegida, significa que la hoja...
=>esta 'efectivamente' protegida<= [al menos... la hoja donde esta 'trabajando'] :((

2.- de entre las posibles causas que puedo imaginar [sin conocer 'el resto' del proyecto] estan:
a) [probablemente] la hoja 'activa' NO es 'IndF' =>'pero' tambien esta protegida< y que en el libro existan nombres 'repetidos' [p.e. si copias hojas que 'ya tenian' nombres]
b) la 'forma' de usar 'Range' y 'Cells' ['emparentados' con el objeto Application -o- SIN 'contenedor']
=> Application.Cells(... -o- -simplemente- Range(... se refieren a la hoja activa < [que NO es 'necesariamente' la hoja que 'pretendes' afectar] :((

3.- para 'estar seguro' de que la hoja que se 'afectara' es la apropiada...
a) establecer una referencia 'completa' a sus objetos [p.e. Worksheets("X_Hoja").Range(... [o .Cells(...]
b) 'meter' los 'sub-objetos' [Range, Cells ...] en un bloque 'With Objeto_Conteneror ... End With'

el siguiente codigo 'contempla' que [posiblemente] se den los supuestos anteriores SIN que 'le afecten'
'observa' que hay un punto ANTES de cada 'sub-objeto' Range dentro del 'contenedor' Worksheets("IndF")
[trate de 'adelgazarlo' un poco SIN utilizar 'variables' que no 'vi' donde las declaras y 'quedan' de tipo 'Variant'] :))
_____
Sub IndustrialActualiza()
With Worksheets("IndF")
.Protect UserInterfaceOnly:=True
.Range("R2") = .Range("L5")
.Range("BAreneras").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("CAreneras"), _
CopyToRange:=.Range("EAreneras"), _
Unique:=False
' Tomar los saldos finales de bancos e inversiones '
.Range("J161") = .Range("EN" & .Range("O2"))
.Range("J162") = .Range("EO" & .Range("O2"))
' Poner en blanco la celda N7 '
.Range("N7").ClearContents
' Calcular el título de los meses '
.Range("C3") = _
.Range("R6") & " " & .Range("O3") & " " & _
.Range("R" & .Range("O2")) & " " & .Range("O3")
End With
End Sub

saludos,
Héctor.
Respuesta Responder a este mensaje
#7 Joe
24/11/2003 - 06:06 | Informe spam
Oye Hector muchas gracias, mañana pruebo lo que me enviaste y te aviso,
cuidate y saludos
Jose Mauricio

"Héctor Miguel" escribió en el mensaje
news:
Hola, Jose Mauricio !

> ... pues no funciono, te doy el codigo para ... checarlo.

1.- [al ejecutar el codigo...] si te 'avisa' que la hoja esta protegida,


significa que la hoja...
=>esta 'efectivamente' protegida<= [al menos... la hoja donde esta


'trabajando'] :((

2.- de entre las posibles causas que puedo imaginar [sin conocer 'el


resto' del proyecto] estan:
a) [probablemente] la hoja 'activa' NO es 'IndF' =>'pero' tambien


esta protegida<> y que en el libro existan nombres 'repetidos' [p.e. si copias
hojas que 'ya tenian' nombres]
b) la 'forma' de usar 'Range' y 'Cells' ['emparentados' con el objeto


Application -o- SIN 'contenedor']
=> Application.Cells(... -o- -simplemente- Range(... se


refieren a la hoja activa <> [que NO es 'necesariamente' la hoja que 'pretendes' afectar]
:((

3.- para 'estar seguro' de que la hoja que se 'afectara' es la


apropiada...
a) establecer una referencia 'completa' a sus objetos [p.e.


Worksheets("X_Hoja").Range(... [o .Cells(...]
b) 'meter' los 'sub-objetos' [Range, Cells ...] en un bloque 'With


Objeto_Conteneror ... End With'

el siguiente codigo 'contempla' que [posiblemente] se den los supuestos


anteriores SIN que 'le afecten'
'observa' que hay un punto ANTES de cada 'sub-objeto' Range dentro del


'contenedor' Worksheets("IndF")
[trate de 'adelgazarlo' un poco SIN utilizar 'variables' que no 'vi' donde


las declaras y 'quedan' de tipo 'Variant'] :))
_____
Sub IndustrialActualiza()
With Worksheets("IndF")
.Protect UserInterfaceOnly:=True
.Range("R2") = .Range("L5")
.Range("BAreneras").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("CAreneras"), _
CopyToRange:=.Range("EAreneras"), _
Unique:=False
' Tomar los saldos finales de bancos e inversiones '
.Range("J161") = .Range("EN" & .Range("O2"))
.Range("J162") = .Range("EO" & .Range("O2"))
' Poner en blanco la celda N7 '
.Range("N7").ClearContents
' Calcular el título de los meses '
.Range("C3") = _
.Range("R6") & " " & .Range("O3") & " " & _
.Range("R" & .Range("O2")) & " " & .Range("O3")
End With
End Sub

saludos,
Héctor.


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