Proteger Hoja con Subtotales e Imagen

09/05/2008 - 21:08 por Adrian V. | Informe spam
Buen día

Tengo un archivo con varias pestañas, cada pestaña contiene información
agrupada con la función "Subtotales" (signoa de + y - a la izquierda de los
números de fila), cada pestaña tiene el logotipo de la empresa, al proteger
la Hoja para que los usuarios que vean el archivo no puedan modificar algunas
celdas y tampoco muevan/modifiquen el Logotipo, me bloquea la funcionalidad
de los Subtotales y me indica que debo desproteger la hoja para poder
utilizarla

Alguien podrá indicarme si es posible proteger la hoja y al mismo tiempo
permita utilizar los subtotales?????

De antemano gracias.

Preguntas similare

Leer las respuestas

#1 Monica May
09/05/2008 - 23:10 | Informe spam
hola,

archivo con varias pestañas,..contiene información
agrupada con la función "Subtotales" (signoa de + y - a la izquierda de
los
números de fila..
Alguien podrá indicarme si es posible proteger la hoja [ + logotipo ] y al
mismo tiempo
permita utilizar los subtotales?????



Mediante programacion se puede realizar por ejemplo >>


Prueba lo siguiente cortesia de Héctor Miguel ;-) !! >>

en el caso que tengas la hoja sin proteger situal el siguiente codigo en un
modulo

'[]

Sub test()

Dim hoja As Worksheet

For Each hoja In Worksheets(Array("hoja1", "hoja2"))

With hoja

.Protect Password:="123", UserInterfaceOnly:=True
.EnableOutlining = True
End With

Next


End Sub

'[]


Y Comentanos!!

Saludos
Monica



www.fermu.com
www.teladearana.es
Respuesta Responder a este mensaje
#2 Adrian V.
09/05/2008 - 23:43 | Informe spam
Gracias Mónica por la información, pero no se que estoy aplicando mal, ya que
sigo teniendo el mismo problema, te explico:

1) copie el codigo que me enviaste al módulo general del Libro
2) cambie el nombre de las hojas que describes en el código por el nombre
que tengo en ellas (> For Each hoja In Worksheets(Array("hoja1", "hoja2"))
por > For Each hoja In Worksheets(Array("Productos", "Zona","Vendedores"))
3)Agrege la protección a la Hoja
4)Guarde el código y el archivo y posteriormente volví a abrirlo
5 Realice éstos ùltimos 4 pasos pero ahora pegue el código en el módulo de
la pestaña "Productos"

Y aún puedo seleccionar la imagen en cada pestaña y modificarla, obviamente
al estar la pestaña con protecciòn no me permite utilizar los
Subtotales..¡¡¡¡¡

Podrías indicarme, que paso no estoy realizando bien?????

De antemano gracias por molestarte en contestar..


"Monica May" escribió:

hola,

> archivo con varias pestañas,..contiene información
> agrupada con la función "Subtotales" (signoa de + y - a la izquierda de
> los
> números de fila..
> Alguien podrá indicarme si es posible proteger la hoja [ + logotipo ] y al
> mismo tiempo
> permita utilizar los subtotales?????

Mediante programacion se puede realizar por ejemplo >>


Prueba lo siguiente cortesia de Héctor Miguel ;-) !! >>

en el caso que tengas la hoja sin proteger situal el siguiente codigo en un
modulo

'[]

Sub test()

Dim hoja As Worksheet

For Each hoja In Worksheets(Array("hoja1", "hoja2"))

With hoja

.Protect Password:="123", UserInterfaceOnly:=True
.EnableOutlining = True
End With

Next


End Sub

'[]


Y Comentanos!!

Saludos
Monica



www.fermu.com
www.teladearana.es



Respuesta Responder a este mensaje
#3 Monica May
09/05/2008 - 23:59 | Informe spam
hola Adrian,

1) copie el codigo que me enviaste al módulo general del Libro
2) cambie el nombre de las hojas que describes..
por > For Each hoja In Worksheets(Array("Productos", "Zona","Vendedores"))
3)Agrege la protección a la Hoja
4)Guarde el código y el archivo y posteriormente volví a abrirlo
5 Realice éstos ùltimos 4 pasos pero ahora pegue el código en el módulo de
la pestaña "Productos"




Bien en el punto 4) >> OJO debes no poner proteccion a tus hojas antes de
utilizar el codigo ya que el propio codigo la pone por ti :) !! por lo
tanto desprotege las hojas y ahora pones el codigo en un modulo nuevo [
insertar >> modulo] y luego ya pegas ahi la macro y ejecutas ...!!

y el punto 5) no es necesario que peges el codigo en el modulo de hoja ya
que estos son empleados para codigos propios de hoja..!!


Prueba y comentanos...!!

Saludos
Monica
Respuesta Responder a este mensaje
#4 Héctor Miguel
11/05/2008 - 00:22 | Informe spam
hola, Adrian !

1) copie el codigo que me enviaste al modulo general del Libro
2) cambie el nombre de las hojas que describes en el codigo por el nombre que tengo en ellas
(> For Each hoja In Worksheets(Array("hoja1", "hoja2")) por
For Each hoja In Worksheets(Array("Productos", "Zona","Vendedores"))
3) Agrege la proteccion a la Hoja
4) Guarde el codigo y el archivo y posteriormente volvi a abrirlo
5) Realice estos ultimos 4 pasos pero ahora pegue el codigo en el modulo de la pestana "Productos"
Y aun puedo seleccionar la imagen en cada pestana y modificarla
obviamente al estar la pestana con proteccion no me permite utilizar los Subtotales



la proteccion de hojas con "solo la interfase con el usuario" debes usarla en el evento '_open' de tu libro (ThisWorkbook)
ya que estas caracteristicas son "de las que NO recuerda" excel la siguiente vez que abres tu libro
y como la opcion de "solo la interfase con el usuario" SOLO se puede administrar por codigo...
es recomendable que NO andes des/re/protegiendo tus hojas desde la interfase con el usuario <= OJO
o... que siempre que lo hagas de esta forma, vuelvas a proteger por codigo esa "interfase" ;)

Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("productos", "zona", "vendedores"))
Hoja.Protect "aqui tu password", 1, 1, 1, 1
Hoja.EnableOutlining = True
Next
End Sub

saludos,
hector.
Respuesta Responder a este mensaje
#5 Adrian V.
12/05/2008 - 19:01 | Informe spam
Muchas gracias Héctor / Monica, el código me enviaron me ha servido de mucho
, soy usuario nuevo en cuestión de macros y código, por lo que seguramente
los estare molestando en futuras consultas y otra vez MIL GRACIAS.


"Héctor Miguel" escribió:

hola, Adrian !

> 1) copie el codigo que me enviaste al modulo general del Libro
> 2) cambie el nombre de las hojas que describes en el codigo por el nombre que tengo en ellas
> (> For Each hoja In Worksheets(Array("hoja1", "hoja2")) por
> For Each hoja In Worksheets(Array("Productos", "Zona","Vendedores"))
> 3) Agrege la proteccion a la Hoja
> 4) Guarde el codigo y el archivo y posteriormente volvi a abrirlo
> 5) Realice estos ultimos 4 pasos pero ahora pegue el codigo en el modulo de la pestana "Productos"
> Y aun puedo seleccionar la imagen en cada pestana y modificarla
> obviamente al estar la pestana con proteccion no me permite utilizar los Subtotales

la proteccion de hojas con "solo la interfase con el usuario" debes usarla en el evento '_open' de tu libro (ThisWorkbook)
ya que estas caracteristicas son "de las que NO recuerda" excel la siguiente vez que abres tu libro
y como la opcion de "solo la interfase con el usuario" SOLO se puede administrar por codigo...
es recomendable que NO andes des/re/protegiendo tus hojas desde la interfase con el usuario <= OJO
o... que siempre que lo hagas de esta forma, vuelvas a proteger por codigo esa "interfase" ;)

Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("productos", "zona", "vendedores"))
Hoja.Protect "aqui tu password", 1, 1, 1, 1
Hoja.EnableOutlining = True
Next
End Sub

saludos,
hector.



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