DISPLAY ALERT ??

03/11/2007 - 06:47 por Orfao | Informe spam
HOLA MUNDO !
En una hoja por medio de una macro protejo o desprotejo una celda
dependiendo del valor de otras...OK.
la pregunta es: Como evito que se presente el mensaje de celda protegida
cuando intento introducir algun dato estando protejida esa celda ??? la idea
es logicamente que no me permita editar la celda pero hay alguna forma e
sustituir el mensaje propio de exel por uno personalizado (User Form) ???
gracias de antemano...

Me alimento del conocimiento de todos

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
03/11/2007 - 07:04 | Informe spam
hola, moises !

En una hoja por medio de una macro protejo o desprotejo una celda dependiendo del valor de otras...OK.
... Como evito que se presente el mensaje de celda protegida cuando intento introducir algun dato estando protejida esa celda ???
la idea es logicamente que no me permita editar la celda pero
hay alguna forma e sustituir el mensaje propio de exel por uno personalizado (User Form) ???



no creo que puedas evitar el aviso de "intento" de modificacion en celdas bloqueadas de hojas protegidas :-((
lo que podrias hacer es evitar que el usuario seleccione celdas bloqueadas en esa/s hoja/s...

para versiones anteriores a 2002, donde NO tienes la opcion de 'prohibir' la seleccion de celdas bloqueadas...
(o incluso en dichas versiones, pero donde tu libro podria ser abierto en versiones anteriores)...
-> prueba con las siguientes lineas (p.e.) en el evento '_open' del libro:

Private Sub Workbook_Open()
Worksheets("hoja1").EnableSelection = xlUnlockedCells
End Sub

y/o si piensas andar des/re/protegiendo la hoja o celdas, no te olvides de incluir esta instruccion
-> cada vez que la vuelvas a proteger ;)

saludos,
hector.
Respuesta Responder a este mensaje
#2 Orfao
03/11/2007 - 07:26 | Informe spam
Gracias Hector...ya me lo suponia... pero esta muy buena tu sugerencia.
Aprovechando el contacto te pregunto :
tengo una macro donde chequea el serial del disco y tengo que inroducir una
clave que corresponde a ese serial para poder abrir el libro. Esto evita que
puedan copiar el libro a otro cpu, y luego de 3 intentos fallidos se ejecuta
un kill. pero adicional a esto he pensado que antes de eso el macro debe
eliminar todas las hojas menos una a la que luego la borro por completo
quedando en blanco esto es para que despues de eliminado el archivo aunque lo
recuperen no accedan a la informacion , pero necesito eliminar los modulos
donde esta el otro codigo con varias macros, esto desde luego que en tiempo
de ejecucion, alguna idea ? sugerencia? propuesta? ayuda??? Gracias de nuevo.
Me alimento del conocimiento de todos


"Héctor Miguel" wrote:

hola, moises !

> En una hoja por medio de una macro protejo o desprotejo una celda dependiendo del valor de otras...OK.
> ... Como evito que se presente el mensaje de celda protegida cuando intento introducir algun dato estando protejida esa celda ???
> la idea es logicamente que no me permita editar la celda pero
> hay alguna forma e sustituir el mensaje propio de exel por uno personalizado (User Form) ???

no creo que puedas evitar el aviso de "intento" de modificacion en celdas bloqueadas de hojas protegidas :-((
lo que podrias hacer es evitar que el usuario seleccione celdas bloqueadas en esa/s hoja/s...

para versiones anteriores a 2002, donde NO tienes la opcion de 'prohibir' la seleccion de celdas bloqueadas...
(o incluso en dichas versiones, pero donde tu libro podria ser abierto en versiones anteriores)...
-> prueba con las siguientes lineas (p.e.) en el evento '_open' del libro:

Private Sub Workbook_Open()
Worksheets("hoja1").EnableSelection = xlUnlockedCells
End Sub

y/o si piensas andar des/re/protegiendo la hoja o celdas, no te olvides de incluir esta instruccion
-> cada vez que la vuelvas a proteger ;)

saludos,
hector.



Respuesta Responder a este mensaje
#3 Héctor Miguel
03/11/2007 - 09:13 | Informe spam
hola, moises !

... una macro... chequea el serial del disco... luego de 3 intentos fallidos se ejecuta un kill
... antes de eso el macro debe eliminar todas las hojas menos una... que luego la borro
... para que despues de eliminado el archivo aunque lo recuperen no accedan a la informacion
... necesito eliminar los modulos donde esta el otro codigo con varias macros... en tiempo de ejecucion
alguna idea ? sugerencia? propuesta? ayuda???



1) los requisitos indispensables para el manejo de codigo×codigo (modificar/agregar/eliminar - lineas/modulos) son:
a) establecer una referencia (en vba) a la libreria -> Microsoft Visual Basic for Applications Extensibility
la version de la libreria depende de la version (de excel) -> donde se ha de utilizar (p.e.)
1) en excel 97 => NO DEBE tener numero de version.
2) en excel 2K => debiera funcionar sin problemas
3) en excel XP/2003 => REQUIERE (ademas) de un ajuste (en caso de no tenerlo ya) a las fuentes de confianza
el ajuste es en: (menu) herramientas/macros/seguridad/(pesta#a) fuentes de confianza y ...
poner una marca en: confiar en el acceso a proyectos de visual basic
4) con relacion a la version 2007... (ya mejor ni te cuento) las reglas de seguridad son (cada vez) mas estrictas
b) revisar la informacion al respecto (p.e.) en paginas como esta: -> http://www.cpearson.com/excel/vbe.aspx

2) (probablemente) te saldria mas barato usar un (tercer ?) libro como auxiliar que sea llamado/abierto JUSTO ANTES...
de que se auto-elimine tu archivo, que contenga una macro que tome como argumento el FullName del "eliminandose..."
y ejecute una instruccion OnTime (p.e. 1 o 2 segundos despues de abierto) que abriendo un libro nuevo (limpio/vacio/con nada)
-> lo guarde con el FullName del que se acaba de eliminar (obviamente autocerrandose este libro auxiliar) :))

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