Inicio > Microsoft Excel > barsimpson > Login que valide Usuario y Contraseña en VBA excel

Login que valide Usuario y Contraseña en VBA excel

Experto:
Usuario:
Fecha: 06/11/2009
Valoración: (4,00 sobre 5) Categoría: Microsoft Excel
05/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Buenas Tardes
Mi pregunta es la siguiente me gustaria hacer un formulario Login que valide Usuario y Contraseña en VBA para una Planilla de Excel para una pequeña base de datos que realice en excel... si está en tus manos ayudarme te lo voy agradecer
Sdls
jose Luis Palma
05/11/2009
heavyshaka, experto respondiendo en Microsoft Excel
Experto
Mira estoy Un Poco Ocupadito.....Te recomiendo visites mi sitio
www.expertosmacrosexcel.es.tl
Entra n el Concepto temario, busca el tema Formularios y hay esta como desarrollarlo, en caso de dudas me buelves a escribir..
 
Saludos
05/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Realice los paso que comentas en tu pagina pero no me funcionó no se si fue que no supe hacer la macro o hay algo adicional que deba realizar. en cuanto puedas responder te lo voy a agradecer entiendo que esté ocupado
Slds.
Jose Luis Palma
05/11/2009
heavyshaka, experto respondiendo en Microsoft Excel
Experto
ok mita---
 
Primeramente
vemos un Ejemplo:
en una hoja disponible de tu libro...para este ejemplo vamos a suponer que es la hoja2.
vas a poner
Celda A1 = Nombre de Usuario
Celda B1 = Contraseña
Esos son los titulos donde tu vas a registrar tus datos de Usiario y Contraseña
ahora la celda a2 = User
en la celda b2 = 1234
Estos seran los datos de usuario y contraseña
tu usuario es User y la contraeña es 1234
A Continuacion te vas a l editor de Visual Basic
Menu-Herramientas-Macros-Edistor de Visual Basic o, presiona Ctrl+F11
Inserta Un Modulo Nuevo
Inserta Un UserForm
Selecciona el UserForm, Presiona el boton derecho del Mause y selecciona Propiedades
dentro de Porpiedades busca la Porpiedad Caption, en esa Propiedad ponle: Datos de Acceso, si te fijas en el User Form se pone como titulo Datos de Usuario
Ahora Bien:
En la barra de erramientas de tu editor,hay una herramienta que se llama caja de herramientas (Tools Box), Dale Click
de el Cuadrito de Herramientas que se activam Dale Click a la que tiene una A, sin siltar el boton delmause, arrastrala y sueltala en elarea de tu UserForm, Editala y Ponle "Usuario"
Repite el proceso anterior, pega otra etiqueta y le pones el nombre de "Contraseña"
Hata aqui ya tienes la etiquetas en tu UserForm.
Ahora:
De la mima Caja de Herramientas selecciona la que tiene  abl , dale Click y sin soltar el boton del mause arrastrala y sueltala en el area del UserForm,
Repite el Porceso anterios y pega otro TextBox, 
Si te fojas ciando tu das clicken cualquier objeto se selecciona y tu lopuedes mover y ubicarloen el area que tu desees...
Bueno, despues seleccionamos el segundo TexBox, presionamos el boton derecho del mause y seleccionamos Porpiedades.
Cuando se habre el cuadro de propiedades, buscamos una que se llama "PasswordChar", a esa porpiedad le ponemos un "*"
Nota: esto es para que cuando tu escribas la cintraseña aparescan arteriscos,
Hasta aqui ya tenemos el UserForm, Las Etiquetas. y los Cuadros de Texto...
Ahora siguen los Botones de Aceptar y Cancelar.
Ahora, de la cajita de Texto Damos Click en el Boton, sin soltar el boton del mause, arrastramos y soltamos en el area del UserForm, Damos Click Al boton que acabamos de insertary presionamos el boton derecho del mause, seleccionamos propiedades, y en la Porpiedad Caption, le ponemo "Aceptar".
Repetimos el Proceso anterior e insertamos otro boton, pero a este en la Propieda Caption, le ponemos "Cancelar".
Hata Aqui ya tenemoslaparte Grafica del Poryecto...Ahora sigue la Programacion..
Para esto seleccionamos el Boton Aceptar, le presionamos el boton derecho del mause, seleccionamos Ver Codigo, y cuando se habra el campo para la edicion ponemos nuestro Codigo siguiente.
Debe quedar asi:
 
 
Private Sub CommandButton1_Click()
If UserForm1.TextBox1.Value = WorkSheets("Hoja2").Range("a2").Value and UserForm1.TextBox2.Value = WorkSheets("Hoja2").Range("b2").Value
' Nota: La instruccion anterios va en una sola linea pega la segunda despues de and
Sheets("hoja1").select
Unload Me
Else
Unload Me
ThisWorkBook.Close
End Sub
 
Hora Bien, en la perte izquerda de tu computadora donde dice UserForm1, dale Click, selecciona el boton de Cancelar, presiona el boton derecho del mause, selecciona ver codigo, y ponle
Debe quedar asi:
Private Sub CommandButton2_Click()
Unload Me
ThisWorkBook.Close
End Sub
 
Hasta aqui ya esta listo el UserForm de  isentificacion..
ahora para que el formulario aparesca cuando entramos al archivo hacemos lo siguiente:
Insertamos un Modulo con el menu insert
Cramos una macro AutoEjecutable,para que la misma macro nos autoejecute el UserForm cuando abrimos el libro..
su nosotros del damos el de Auto_Open a una macro,esta se autoejecutara al abrir el libro,
entonces le ponemos en el modulo que insertamos le ponemos:
 
Sub Auto_Open()
UserForm1.Show
End Sub
 
 
Ahora ya creamos la macro, ya creamos el UserForm y sus Componentes, y ya registramos los Datos de Usuario y Contraseña, todo esta listo...
 
Nota importante: Tu libro debe de tener una hoja con el nombre de hoja1, y otra con el nombre de hoja2, porque a esas hojas hacen referencia el codigo del boton Aceptar---
tu puedes cambiar los nombres, siempre y cuando tambien le cambies el nombre en el codigo....
Cierra y abre tu archivo...
Recuerda
El nombre de Usuario es usery lac ontraseña es 1234
Tambien estos datos los puedes cambiar, si vas a la hoja2. si le pnes otro usuario y otra contraseña seran esos datos.
saludos---
 
 
 
 
05/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Ok hice todos los paso arriba mencionados pero en la linea
 If UserForm1.TextBox1.Value = WorkSheets("Hoja2").Range("a2").Value and UserForm1.TextBox2.Value = WorkSheets("Hoja2").Range("b2").Value............... da un error que dice error de copilación se esperaba: Then o Go To... soy nuevo en esta rama por eso me cuesta solucionarlo....
05/11/2009
heavyshaka, experto respondiendo en Microsoft Excel
Experto
Ok...mira lo que pasa es que todo eso es una sola linea, perocomo no cupo en el cuadro de respuesta,se paso yformo dos linewas...por eso te mensione
si te fijas son dos validaciosne, valida elnombre de osuarioy la contraseña, por esoen medio tiene un and (Y)
antes y despues del and va espaci hee para que no te confundas...y otras dos cosas, al final de esa linea lasga,,,le pones    Then    (Fin)
Tambien se me olvido...de esa linea grande, te vas algunas lineas mas para abajo y antes de la instruccion  End Sub(Fin del Porgrama)
le pones   "End If"  (Fin del If)
 
Quedara
End If
End Sub
 
Saludos...
www.expertosmacrosexcel.es.tl
 
06/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Buen dia
sabes esas instrucciones que me estás dando yo lo hice ayer en la tarde despues que te escribi pero ahora me da un nuevo error que dice "Se ha producido un error '13' en tiempo de ejecución : No coinciden los tiempos" y hasta allí si llegan mis conocimientos... me disculpas si te he molestado mucho. sabes tambien me gustaria incluir en ese formulario numeros de intento osea que si la persona se equivoca 3 veces se cierre el libro... si es posible me avisas..
Que tengas un buen dia
Jose Luis Palma
06/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Ya arregle el error  13 en tiempo de ejecucion era error mio pero cuando inserto el usuario y la clave lo que hace es cerrar el libro al darle aceptar. estuve viendo las instruciones del boton aceptar y tiene esta instrucción "Unload Me ThisWorkBook.Close" que es lo que me hace cerrar el libro se lo elimine y ya no me cierra el libro pero note que los usuarios y la clave no estan haciendo efecto osea aunque no le meta el usuario igual me permite trabajar en el libro ...tambien si me puedes ayudar es con los intentos de clave, osea que si se equivoca tres veces se cierre el libro. y una cosa mas como hago para colocar varios usuarios... gracias por el formulario y gracias de antemano por lo nuevo que te estoy pidiendo
06/11/2009
heavyshaka, experto respondiendo en Microsoft Excel
Experto
Ok mira....
lo ok mira. lo que hace cuando tu le das aceptar al formulario es, Validar si tanto el usuario como la contraseña que estas poniendo, son iguales a los que tienes registrados en la hoja2,de hay la importancia de que deben de estar el usuario en la celda a2 de la hoja2 y la contraseña en la celda b2 de la hoja2, porque es hay donde va y revisa y si los dos datos son iguales te deja entrar pero si uno de los dos son diferentes, te cierra el libro
si te fijas en la instruccion del boton aceptar---
tiene in if
if WorkSheets("hoja2").Range("a2").Value = UserForm1.TextBox1.Value And  "La otra Validacion"  Then
Las Instrucciones si se cumplela condicion, es decir, si son uguales Usuario y Contraseña, que cierre el Foumulario "UnLoad Me"  (Descargame)
Unload Me
Else  (Entonces)
Las Instrucciones Si no coresponden el usuario o la contraseña, "Cierra este libro"
ThisWorkBook.Close (Cierra este Libro)
End If (Finaliza la condicion si (If))
End Sub  (Finaliza este Programita )
 
Por eso cuando le borraste la instruccion ThisWorkBook.Close, no te hace nada es decir, le estas indicando que si el usuario y la contraseña son uguales te deje entrar, pero que si son diferentes tambien te deje entrar...o sea si te los valida, pero te deja entra aunque sean errones...
la Intruccion Explicada en español esta asi..
Private Sub CommandButton_Click()  (Cuando de Click en el boton 1 )
If Validacion de Usuario and Validacion de Contraseña Then  (Si Usuario y Contraseña   Fin)
Unload Me  (Son Iguales Solo desactivame el Formulario)
Else   (Entonces)
ThisWorkBook.Close  (Son Diferentes Cierrame este Libro )
End If  (Finalisame esta Condicion )
End sub (Finalizame este Porgrama)
 
Saludos
 
www.expertosmacrosexcel.es.tl
 
 
 
06/11/2009
heavyshaka, usuario preguntando en Microsoft Excel
Usuario
Gracias por tu ayuda y disculpa si te quite tiempo
Enlaces patrocinados