Documente Academic
Documente Profesional
Documente Cultură
Necesito un favorsote.
Lo que pasa es que quiero una macro donde al introducir su nombre de usuario y contrasea
les de acceso al libro de excel.
Me gustara que esta ontraseas estuvieran en una hoja de excel y saber cuando entro uno de
ellos.
Se puede?
Seguir Responder Ms info
Compartir
2 respuestas
Respuesta de patanrisitas
1
ActiveSheet.Unprotect "123"
Unload Me
Else
MsgBox ("Clave invlida")
End If
End Sub
-Luego creas el 2do UserForm al que le asignas otro TextBox y un Botn de Aceptar con el
siguiente cdigo:
Private Sub CommandButton1_Click()
Dim Clave
Clave = TextBox2.Value
If Clave = 1234 Then
Unload Me
UserForm1.Show
Else
MsgBox ("Clave invlida")
End If
End Sub
-Luego en la Celda A1 de la Hoja2 escribes "El Usuariode hoy:"
- En C1 de la Hoja2 escribes la siguiente
Frmula:=SI(ESERROR(BUSCARV(D1;Usuarios;1));"Invalido";BUSCARV(D1;Usuarios;1))
- A D1 de la Hoja2 le asignas un Nombre de Rango llamado Clave. Se hace por Insertar
Nombre Definir
- Desde A2 hacia abajo los Usuarios
- Desde B2 hacia abajo las Claves de los Usuarios
- Desde C2 hacia abajo los ID de los Usuarios, ejm RCORRALES
Prueba con esto y me avisas..
Saludos,
RCh.
el 22 ago. 08
Q+ Kaka,
Creo que mejor te mando un ejemplo... dame un correo!
richardchaconb@gmail.com
Cancel = True
End If
End Sub
Para el Mdulo:
Sub LaDesprotejo()
UserForm1.Show
'Unload Me
End Sub
Y para ThisWorkbook:
Private Sub Workbook_Open()
MsgBox ("Hola Kakashi, te saluda Richard Chacn") ' Muestra un saludo al abrir el libro
Worksheets("hoja1").Range("A1").Value = 1 'Genera un valor en una celda
ThisWorkbook.Application.CommandBars.FindControl(ID:=30029).Enabled = True
UserForm1.Show
End Sub
Recuerda crear y dar nombre al rango de Usuarios en la Hoja2
Asignar el nombre ElUsuario a una celda y ponerle esta frmula:
=SI(ESERROR(BUSCARV(D1;Usuarios;1));"Invalido";BUSCARV(D1;Usuarios;1))
Asignarle a una Celda (D1) el nombre Clave1
el 26 ago. 08
Votar 1
Comentar
Compartir
Aadir comentario
Respuesta de jerryeagle
1
jerryeagle
Para que funciones, debes tener una hoja llamada "Usuarios", un userform1, dos textbox
llamados user y pass dos botones, Ok y Cierra y pegar este cdigo en userform:
'En el evento Workbook_open de Thisworkbook debes poner este codigo
userform1.show
Private Sub Cierra_Click()
If MsgBox("Salir de Excel?", vbYesNo) = vbYes Then
Application.Quit
Unload Me
Else
Unload Me
End If
End Sub
Private Sub Ok_Click()
Application.ScreenUpdating = False
Sheets("Usuarios").Visible = True
Sheets("Usuarios").Select
Range("A2", Range("A65536").End(xlUp)).Select
If Selection.Find(User.Text, , , xlWhole) Is Nothing Then
GoTo NoEncontrado
Else
Selection.Find(User.Text, , , xlWhole).Select
'MsgBox User & " - " & Pass
If ActiveCell.Value = User And ActiveCell.Offset(0, 1).Value = Pass Then
MsgBox "Bienvenido " & User
Unload UserForm1
' Pone en la barra de Excel de arriba el nombre del Usuario que entr
Application.Caption = User
Else
NoEncontrado:
MsgBox "Nombre de Usuario o Contrasea Incorrecta, Verifique el uso correcto de
Mayusculas y Minusculas"
User = Empty
Pass = Empty
User.SetFocus
Sheets("acceso").Select
End If
End If
Application.ScreenUpdating = True
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'Prevent user from closing with the Close box in the title bar.
Cancel = False
If CloseMode <> 1 Then Cancel = True
UserForm1.Caption = "Debe usar el boton Cerrar del Formulario"
End Sub
Cualquier duda me dices.
el 23 ago. 08
Hola de nuevo.
Ya lo corr y me sale un problemita, si se ve en cuanto abro el archivo, pero a la hora de que le
doy al botn para que me de el acceso al archivo se queda plasmado y no me deja
modificarlo.
el 25 ago. 08