Como puedo editar el código de vba excel

Buenas noches, estoy creando un aplicativo con vba excel 2003. Cuando le doy click al aplicativo, éste carga automáticamente el primer userform creado sin pasar por excel y cuando le doy salir cierra excel, por seguridad al código de vba le coloqué una clave para que el usuario no tuviera acceso a él. Pero cuando sale de excel queda un mensaje solicitando la clave de mi proyecto y para quitarlo hay que darle varios cancelar. ¿Cómo hago para que esto no siga sucediendo y que cuando se salga del proyecto no pida esa clave?
Y la otra pregunta es como hago para volver al editor de vba excel desde el userform para hacerle mantenimiento o actualizaciones al código.
Muchas gracias.

1 Respuesta

Respuesta
1
Habitualmente, cuando más nos esmeramos en cerrar un sistema, para que el usuario no tenga acceso a el, más podemos cometer algún error de rutinas cruzadas o variables que quedan abiertas tratando de actualizarse antes de cerrar un libro.
Te sugiero que hagas un mantenimiento de tu aplicativo, rutina por rutina.
Si tienes varios UserForm crea una copia de tu aplicativo y borra uno por uno los UserForm hasta dar con el que te deja "enganchado" al cerrar tu libro.
Otra forma de eliminar este error, es exportar todos los UserForm y Módulos y borrarlos todos, y dejar el libro limpio de Vb. Lo grabas, lo cierras, lo vuelves a abrir, e importar uno por uno los UserForm y Módulos que tienes exportados.
En los sistema cerrados que yo creo para diversas compañías, siempre coloco en el primer UserForm, un pequeño Label en cierta parte del User que yo solo se. Al dar click aquí, aparece un textbox solicitandi una contraseña para abrir el Visual y de esta manera, dar matenmiento al sistema.
Muchas gracias, con respecto a la segunda respuesta. ¿Cómo sería el código para el label y el textbox?, es decir, cómo hago para entrar nuevamente a vba.
En el UserForm crear :
2 Label llamados Label1 y ClaveText
1 TextbBox llamado ClaveBox
El Labe1 darle un tamaño pequeño 6x6 y dejarlo si Caption. Lo colocas en cierto lugar del UserForm que mejor te acomode.
ClaveText y ClaveBox ocultas Visible=False
ClaveText.Caption = "Ingresa Clave :"
Private Sub Label1_Click()
    ClaveText.Visible = True
    ClaveBox.Visible = True
    ClaveBox.SetFocus
End Sub
Private Sub ClaveBox_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If ClaveBox = "Contraseña" Then
        Application.Visible = True
        End
    Else
        ClaveBox = ""
        ClaveText.Visible = False
        ClaveBox.Visible = False       
    End If
End Sub
Si el proyecto tiene clave, obviamente debes conocerla e ingresarla.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas