Niveles de Protección en EXCEL 97

18/10/2006 - 16:32 por Bart | Informe spam
Hola,

He notado que los niveles de protección entre Excel 97 y 2003, son muy
diferentes.

En Excel 97 se tienen menos opciones, sólo tres: Contenido, Objetos,
Escenarios.

Quisiera saber que alternativa se tiene en Excel 97 para OCULTAR las
fórmulas y EVITAR la escritura de determinadas CELDAS de una hoja, pero que
SI permita mediante una macro, pegar el contenido de una celda en otra y
darle un determinado formato.

He probado con las opciones de OCULTAR y BLOQUEAR celda, para luego proteger
la hoja, pero la MACRO de copiar y darle formato de fecha del contenido de
una celda en otra, me está generando error y se detiene.

Gracias...

B.S.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
18/10/2006 - 20:10 | Informe spam
hola, Bart !

He notado que los niveles de proteccion entre Excel 97 y 2003, son muy diferentes.
En Excel 97 se tienen menos opciones, solo tres: Contenido, Objetos, Escenarios.
Quisiera saber que alternativa se tiene en Excel 97 para OCULTAR las formulas
y EVITAR la escritura de determinadas CELDAS de una hoja
pero que SI permita mediante una macro, pegar el contenido de una celda en otra y darle un determinado formato.
He probado con las opciones de OCULTAR y BLOQUEAR celda, para luego proteger la hoja
pero la MACRO de copiar y darle formato de fecha del contenido de una celda en otra, me esta generando error y se detiene.



1) para que no 'se vean' las formulas, marca la opcion de 'oculta' a las celdas aplicables y proteges la hoja
2) si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
[asumiendo que la hoja ya esta protegida]... puedes usar la instruccion de 'solo interfase de usuario'

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

ejemplos protegiendo la hoja al abrirse el libro sin que les afecte modificarlas por codigo...

a) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( < en el modulo de codigo del libro ==Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas [supoiendo una misma clave para todas]...
en el modulo de codigo del objeto ThisWorkbook de tu libro [prueba data.xls] ==Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'
[excepto 'ciertas' cosillas relacionadas con insertar filas/columnas y objetos incrustados] :-((
Respuesta Responder a este mensaje
#2 Bart
18/10/2006 - 21:59 | Informe spam
Hola Héctor Miguel, ante todo gracias...

De hecho en la hoja de Excel 97, le activé a DETERMINADAS Celdas la opción
OCULTA y BLOQUEAR, el resto las dejé sin aplicarles estas opciones.

Luego le seleccioné PROTEGER la hoja, seleccionando de manera combinada en
varios intentos las 3 opciones disponibles (contenido, objetos, escenarios).

El problema es el siguiente: la macro se ejecuta, pero llega un momento en
que la rutina debe escribir la fecha HOY() en una determinada celda y darle
un formato... en este punto la macro se detiene y genera error.

En Excel 2003 funciona sin problema todo, pero en 97 no.
Saludos...

"Héctor Miguel" wrote:

hola, Bart !

> He notado que los niveles de proteccion entre Excel 97 y 2003, son muy diferentes.
> En Excel 97 se tienen menos opciones, solo tres: Contenido, Objetos, Escenarios.
> Quisiera saber que alternativa se tiene en Excel 97 para OCULTAR las formulas
> y EVITAR la escritura de determinadas CELDAS de una hoja
> pero que SI permita mediante una macro, pegar el contenido de una celda en otra y darle un determinado formato.
> He probado con las opciones de OCULTAR y BLOQUEAR celda, para luego proteger la hoja
> pero la MACRO de copiar y darle formato de fecha del contenido de una celda en otra, me esta generando error y se detiene.

1) para que no 'se vean' las formulas, marca la opcion de 'oculta' a las celdas aplicables y proteges la hoja
2) si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
[asumiendo que la hoja ya esta protegida]... puedes usar la instruccion de 'solo interfase de usuario'

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

ejemplos protegiendo la hoja al abrirse el libro sin que les afecte modificarlas por codigo...

a) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( <> en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas [supoiendo una misma clave para todas]...
en el modulo de codigo del objeto ThisWorkbook de tu libro [prueba data.xls] ==> Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'
[excepto 'ciertas' cosillas relacionadas con insertar filas/columnas y objetos incrustados] :-((



Respuesta Responder a este mensaje
#3 Bart
18/10/2006 - 22:06 | Informe spam
Por otra parte,

Cómo hago, para que a través del código de una macro, al abrir un archivo
que tiene varias hojas PROTEGIDAS con la misma CONTRASEÑA, puedan todas las
hojas DESPROTEGERSE... o sea el inverso de la opción .Protect

GRACIAS

"Héctor Miguel" wrote:

hola, Bart !

> He notado que los niveles de proteccion entre Excel 97 y 2003, son muy diferentes.
> En Excel 97 se tienen menos opciones, solo tres: Contenido, Objetos, Escenarios.
> Quisiera saber que alternativa se tiene en Excel 97 para OCULTAR las formulas
> y EVITAR la escritura de determinadas CELDAS de una hoja
> pero que SI permita mediante una macro, pegar el contenido de una celda en otra y darle un determinado formato.
> He probado con las opciones de OCULTAR y BLOQUEAR celda, para luego proteger la hoja
> pero la MACRO de copiar y darle formato de fecha del contenido de una celda en otra, me esta generando error y se detiene.

1) para que no 'se vean' las formulas, marca la opcion de 'oculta' a las celdas aplicables y proteges la hoja
2) si necesitas que la proteccion NO 'afecte' a tus macros ->SIN tener que [des/re]proteger la hoja<-
[asumiendo que la hoja ya esta protegida]... puedes usar la instruccion de 'solo interfase de usuario'

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

ejemplos protegiendo la hoja al abrirse el libro sin que les afecte modificarlas por codigo...

a) en excel 97 y 2000 NO necesitas 'repetir' el password <= es 'suficiente' con poner:
en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect UserInterfaceOnly:=True
End Sub

b) a partir de excel 2002 [xp] SI es requisito 'repetir' el password :-( <> en el modulo de codigo del libro ==> Private Sub Workbook_Open()
Worksheets("Hoja1").Protect _
PassWord:="la MISMA cOntRaSe#a qUe lE pUsISte", _
UserInterfaceOnly:=True
End Sub

c) si se trata de varias hojas [supoiendo una misma clave para todas]...
en el modulo de codigo del objeto ThisWorkbook de tu libro [prueba data.xls] ==> Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Protect PassWord:="123", UserInterfaceOnly:=True
Next
End Sub

[practicamente] TODO lo que 'hagas por codigo'... pasara 'sin problemas'
[excepto 'ciertas' cosillas relacionadas con insertar filas/columnas y objetos incrustados] :-((



Respuesta Responder a este mensaje
#4 Héctor Miguel
18/10/2006 - 22:24 | Informe spam
hola, Bart !

De hecho en la hoja de Excel 97, le active a DETERMINADAS Celdas la opcion OCULTA y BLOQUEAR
el resto las deje sin aplicarles estas opciones.
Luego... PROTEGER la hoja... de manera combinada en varios intentos las 3 opciones disponibles (contenido, objetos, escenarios).
El problema... la macro se ejecuta, pero llega un momento en que la rutina debe escribir la fecha HOY() en una determinada celda
y darle un formato... en este punto la macro se detiene y genera error.
En Excel 2003 funciona sin problema todo, pero en 97 no...



xl-97...
1) bloquee y oculte TODAS las celdas de la hoja1
2) aplique password a la hoja [todas las opciones disponibles]
3) '_open' del libro...
Private Sub Workbook_Open()
Worksheets("hoja1").Protect UserInterfaceOnly:=True
End Sub
4) macro que se ejecuta sin problemas, modificando propiedades y depositando formulas...
Sub Formula_y_formatos()
With ActiveCell
.Formula = "=today()"
.Font.ColorIndex = 3
With .Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = 3
End With
End With
End Sub

comentas [si encuentras] algun detalle mas... 'concreto/significativo/...' ?
saludos,
hector.
Respuesta Responder a este mensaje
#5 Héctor Miguel
18/10/2006 - 22:28 | Informe spam
hola, Bart !

Como hago, para que a traves del codigo de una macro
al abrir un archivo que tiene varias hojas PROTEGIDAS con la misma CONTRASE#A
puedan todas las hojas DESPROTEGERSE... o sea el inverso de la opcion .Protect



[p.e.]

Private Sub Workbook_Open()
Dim Hoja As Worksheet
For Each Hoja In Worksheets(Array("hoja1", "hoja4", "hoja6"))
Hoja.Unprotect PassWord:="123"
Next
End Sub

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida