Autofiltro con hoja protegida (luego de abrir el libro una vez más se deshabilitan los tex de los autofiltros)

19/06/2006 - 19:46 por CARLOS CARNERO | Informe spam
Muy buenas a todos: soy nuevo mi nombre es Carlos Carnero: tengo una
interrogante luego de leer las muy valiosas aportaciones de los
foristas Héctor Miguel y KL acerca de los autofiltros con hoja
protegida en las versiones Excel 97 y 2000.

La sintaxis la copie y funciono Ok, pero luego de haber cerrado el
libro y queriendo abrir una vez más (habilitando las macros) no opera
los text del autofiltro. ¿Será que algo no hecho bien? Les
agradecería su colaboración porque he probado con estas dos sintaxis
que ustedes las pusieron:


Private Sub Workbook_Open()
Worksheets("prueba").EnableAutoFilter = True
Worksheets("prueba").Protect _
PassWord:="1234", _
Contents:=True, _
DrawingObjects:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End Sub



Private Sub Workbook_Open()
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub

Saludos desde el Perú,

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
19/06/2006 - 20:34 | Informe spam
hola, Carlos !


... acerca de los autofiltros con hoja protegida en las versiones Excel 97 y 2000.
... luego de haber cerrado el libro y... abrir una vez mas (habilitando las macros) no opera los text del autofiltro.
Sera que algo no hecho bien?... he probado con estas dos sintaxis [...]



cabria la posibilidad de que los procedimientos [codigos o macros] los hubieras 'copiado/pegado'...
-> en un modulo de codigo donde NO 'les corresponde' -?- [p.e. en un modulo de codigo 'general'] -?-

los procedimientos 'de eventos' tienen sus propios modulos 'de clase' [no son modulos 'normales'] p.e.
-> el evento 'Workbook_Open' va en el modulo de codigo del objeto libro [ThisWorkbook]
-> el evento 'Selection_Change' va en el modulo de codigo de [alg]un objeto hoja [Hoja1, Hoja2...]

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.

__ los codigos expuestos __
Private Sub Workbook_Open()
Worksheets("prueba").EnableAutoFilter = True
Worksheets("prueba").Protect _
PassWord:="1234", _
Contents:=True, _
DrawingObjects:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End Sub

Private Sub Workbook_Open()
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub
Respuesta Responder a este mensaje
#2 CARLOS CARNERO
19/06/2006 - 21:47 | Informe spam
Hector permite decirte que VALES UN PERU!!! . Muchas gracias por tu
ayuda. Evidentemente estaba en el modulo incorrecto (General). Ahora si
funciona muy bien.

Mil gracias y saludos desde el Perú,



Héctor Miguel ha escrito:

hola, Carlos !


> ... acerca de los autofiltros con hoja protegida en las versiones Excel 97 y 2000.
> ... luego de haber cerrado el libro y... abrir una vez mas (habilitando las macros) no opera los text del autofiltro.
> Sera que algo no hecho bien?... he probado con estas dos sintaxis [...]

cabria la posibilidad de que los procedimientos [codigos o macros] los hubieras 'copiado/pegado'...
-> en un modulo de codigo donde NO 'les corresponde' -?- [p.e. en un modulo de codigo 'general'] -?-

los procedimientos 'de eventos' tienen sus propios modulos 'de clase' [no son modulos 'normales'] p.e.
-> el evento 'Workbook_Open' va en el modulo de codigo del objeto libro [ThisWorkbook]
-> el evento 'Selection_Change' va en el modulo de codigo de [alg]un objeto hoja [Hoja1, Hoja2...]

comentas [si hubiera] algun detalle adicional ?
saludos,
hector.

__ los codigos expuestos __
Private Sub Workbook_Open()
Worksheets("prueba").EnableAutoFilter = True
Worksheets("prueba").Protect _
PassWord:="1234", _
Contents:=True, _
DrawingObjects:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End Sub

Private Sub Workbook_Open()
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub
Respuesta Responder a este mensaje
#3 CARLOS CARNERO
12/07/2006 - 22:08 | Informe spam
Hola Hector un gusto en saludarte una vez más: He estado revisando el
tema de autofiltro con hoja protegida y encontrado como siempre tus muy
valiosos aportes, pero disculpa que no lo llego a captar muy bien con
respecto cuando se incluye esta sintaxis a las demás hojas del mismo
wookbook.

Digamos que en esta sintaxis:

Private Sub Workbook_Open()
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub

De acuerdo a esta tú participación:
http://groups.google.com/group/micr...d1e6a66821

nota: si se trata de varias hojas... habria que modificar 'igeramente'
este codigo ;)


B) en el modulo de codigo de 'esa' hoja...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub


¿Serías tan amable finalmente como quedaría estructura esta
sintaxis?

Lo trate de las siguientes maneras:
a)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub

b) De acuerdo a otra participación:
http://groups.google.com/group/micr...d1e6a66821
nota: si se trata de varias hojas... habria que modificar 'igeramente'
este codigo ;)
B) en el modulo de codigo de 'esa' hoja...
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub

¿Serías tan amable finalmente como quedaría la estructura esta
sintaxis?

Mil gracias y disculpa el abuso por mi parte.

Saludos desde el Perú,
Respuesta Responder a este mensaje
#4 Héctor Miguel
13/07/2006 - 03:14 | Informe spam
hola, Carlos !

1) ya te iras 'familiarizando' con los objetos que tienes disponibles...
-> en el editor de vba, estan los objetos 'propios' del excel [como las hojas que contiene el libro y el libro mismo]
-> los puedes 'ver' en la ventana del 'explorador de proyectos' [Hoja1, Hoja2, ... ThisWorkbook, Modulo1, etc.]
-> si haces un doble-click sobre ellos, -> se abre una ventana con su modulo de codigo, donde puedes manejar 'eventos'

2) la administracion del 'permiso' para usar autofiltros en hojas protegidas 'debes' estblecerla en el modulo del ThisWorkbook
-> 'concretamente'... en el evento 'open' [se supone que la hoja que administras YA tiene su rango con autofiltros establecido]

3) el resto del ejemplo que estas analizando, se refiere a una solicitud para 'colorear' filas/columnas de la celda activa ;)

4) podrias comentar en que 'tipo' de modulo de codigo es donde estas copiando/pegando los codigos de ejemplo ?
asi como cuantas hojas necesitas 'administrar' cada vez que se abra el libro ?
[dado de esa caracteristica es de las que NO 'recuerda' excel, la siguiente vez que se abre un libro] :-(

comentas algun detalle adicional ?
saludos,
hector.

__ fracciones de la consulta original __
... el tema de autofiltro con hoja protegida... no lo llego a captar muy bien con respecto
cuando se incluye esta sintaxis a las demas hojas del mismo wookbook...
Private Sub Workbook_Open()
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub

Lo trate de las siguientes maneras:
a)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Sheets("prueba") '
.EnableAutoFilter = True
.Protect userinterfaceonly:=True, _
password:="1234"
End With
End Sub [...]
Respuesta Responder a este mensaje
#5 CARLOS CARNERO
13/07/2006 - 16:54 | Informe spam
) podrias comentar en que 'tipo' de modulo de codigo es donde estas
copiando/pegando los codigos de ejemplo ?
asi como cuantas hojas necesitas 'administrar' cada vez que se abra el
libro ?
[dado de esa caracteristica es de las que NO 'recuerda' excel, la
siguiente vez que se abre un libro] :-(
comentas algun detalle adicional ?

Hola Hector muy amable de tu parte en responder mi inquietud:

En primer lugar el nombre de mi archivo es "prueba DATA.xls" (Excel 97)
y las hojas que van a contener serán cinco, pero sólo tres de ellas
de ellas van a contener estos filtros con su hoja respectiva protegida
y esos los he nombrado como: "DATA", "KARDEX" e "INGRESOS".

El modulo de codigo donde estoy copiando/pegando es BVAproject
(pruedaDATA.xls) Microsoft Excel Objetos, tanto en Thisworkbook y open
(workbook), como en la propia hoja que dice Hoja1 (KARDEX), pero en
ninguna de las dos opciones opera el filtro en esta hoja al volver a
reabrilo este archivo. Esta es la sintaxis que estoy usando:

Private Sub Workbook_Open()
Worksheets("KARDEX").EnableAutoFilter = True
Worksheets("KARDEX").Protect _
PassWord:="1234", _
Contents:=True, _
DrawingObjects:=True, _
Scenarios:=True, _
UserInterfaceOnly:=True
End Sub

Gracias,

Carlos Carnero Gálvez
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida