Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Formulario en VBA para proteger data

| 4 comentarios

Descripción:

Al trabajar con data sensible muchas veces el usuario de esta desea protegerla de cualquier otro usuario que pueda acceder a la misma y ejecutar cambios intencionados o no. Para ello podemos crear un formulario en VBA que proteja la data al momento de abrir el documento excel. En este caso el formulario creado requerirá el ingreso del número de usuario o DNI y luego una contraseña preestablecida. Asimismo, tanto el número de usuario como la contraseña deberán contar con un número específico de caracteres para poder acceder a la data, ello se le comunica al usuario mediante mensajes en el formulario. De introducir correctamente número de usuario o DNI y la contraseña, le aparecerá un mensaje de bienvenida y seguidamente el número de usuario ingresado aparecerá en la celda A1 y con estilo de fuente negrita. En caso contrario, no podrá acceder a la data teniendo en el formulario el botón "Salir" que cierra automáticamente el documento excel.

Ejemplo:

Contraseña "1234"

Dibujo

Ver archivo: Formulario en VBA para proteger data

Para ejecutar las condiciones ejecutamos el código en "Aceptar":

Private Sub CommandButton1_Click()
If Len(TextBox1) <> 8 Then
MsgBox "Usuario incorrecto: Ingrese 8 dígitos"
End If
If TextBox2 <> "1234" Then
MsgBox "Contraseña incorrecta: Ingrese 4 dígitos"
End If
If Len(TextBox1) = 8 And TextBox2 = "1234" Then
UserForm1.Hide
MsgBox "Bienvenido:" & " " & TextBox1.Text
Cells(1, 1) = "Usuario:" & " " & TextBox1.Text
Selection.Font.FontStyle = "bold"
End If
End Sub

Para el botón "Salir" que cierra el documento excel empleamos el código:

Private Sub CommandButton2_Click()
Application.Quit
End Sub

 

Elaborado por: Daniel Salas

4 comentarios

  1. Una forma de limitar la cantidad de dígitos es utilizando las propiedades del userform ubicadas en la esquina inferior izquierda, en la opción maxlength se podrá indicar la cantidad de dígitos permitidos en el text box.

  2. Hola, la verdad es que envidio quienes dominan VB porque yo intento generar unas planillas inteligentes hace bastante y me esta llevando muchisimo tiempo buscando estos codigos por la red.
    En fin quisiera agradecerte por compartir tus conocimientos y si no es demasiado pedir, quisiera consultarte algo mas.
    Como podria modificar o en que parte del codigo deberia modificarlo para admitir 4 usuarios por ejemplo con contraseñas distintas por supuesto?
    Desde ya muchisimas gracias.
    Saludos.

  3. y como sería para varios usuarios, significativamente más de 1, por ejemplo para 100. Sería muy trabajoso ingresar 100 restricciones.

  4. Extraordinario trabajo, muchas gracias!!!

Deja una respuesta

Los campos requeridos estan marcados con *.