Validar una macro para que me pida contraseña de desprotección de hoja

Tengo una base de datos en excel 2000 (no puedo instalar otra versión más actualizada, ya que corresponde a un archivo de trabajo) y necesité proteger la hoja.

En principio cree una macro para proteger la hoja automáticamente al abrir el archivo y poder usar los autofiltros. Cabe aclarar que la versión de Excel 2000 no permite usar los filtros cuando se protege la hoja por el modo convencional.

Hasta ahí, salió todo muy bien. La hoja se protege al abrir el archivo, se pueden usar los autofiltros y para desproteger es cuestión de poner la contraseña. Es más, logré que antes de cerrar dicho archivo no sea necesario volver a protegerlo. Solo hay que guardarlo y al abrirlo nuevamente ya está protegido nuevamente.

El problema surgió cuando quise ir más allá. Intenté crear un mensaje de alerta al abrir el archivo que me preguntara si quiero desproteger el archivo; cree las opciones "si" y "no"; de ser positiva la respuesta que me diera la oportunidad de ingresar la contraseña que valide la desprotección de la hoja. Hice ese proceso a través de otra macro, pero el inconveniente surge a partir de que ingresó la contraseña para desproteger la hoja, ya que al parecer acepta el password pero no desprotege la hoja en cuestión.

Quisiera saber si alguien me podría decir como solucionar este tema o si tiene alguna otra solución para proponer. Les recuerdo que no puedo instalar otra versión de Office, porque son archivos de trabajo y esas cuestiones las manejan desde otro sector de la empresa. Por supuesto que todo hubiera sido más fácil con otra versión de Office más actualizada.

El mensaje de alerta lo quise crear con la intención de ahorrar el paso de ir hasta el menú "Herramientas - Desproteger hoja".

Se agradecerá la colaboración.

1 respuesta

Respuesta
1

Está bien planteado, desconozco en qué te estés equivocando.

Se me ocurre que quizás tu clave sea numérica y el mensaje te lo está devolviendo en formato texto. Si es eso la rutina debe contemplar la conversión. Por ej:

clave = Inputbox "ingresa contraseña de hoja"

clavenum = Val(clave)

Sheets("Hoja1"). Unprotect clavenum

Te agrego 1 detalle para que lo tengas en cuenta: si no proteges la hoja al salir del libro confiado en que en la apertura se vuelve a proteger corres el riesgo de que lo abran sin habilitar las macros y en ese caso la hoja quedó visible... aunque no podrán operarlo sí podrán ver el contenido de la hoja si la dejas visible.

Si no lo llegás a resolver escribime la rutina del inputbox.

Sdos.comentame si lo resolviste

Podes presionar el botón 'Aclaraciones' y copiar la rutina del inputbox si aún el tema no está resuelto. Sino presioná FINALIZAR para dar por cerrada la consulta.

Sdos

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas