macro de usuario y contraseña

6
Macro de usuario y contraseña Necesito un favorsote. Lo que pasa es que quiero una macro donde al introducir su nombre de usuario y contraseña les de acceso al libro de excel. Me gustaría que esta ontraseñas estuvieran en una hoja de excel y saber cuando entro uno de ellos. ¿Se puede? Seguir Responder Más info Compartir 2 respuestas Respuesta de patanrisitas 1 patanrisitas, Tengo experiencia en macros, funciones avanzadas y algo de... Q+ Kakashi, Primero asegurate de tener dos hojas al menos en tu libro de trabajo. Ejemplo Hoja1 y Hoja2 - Luego abre VisualBasic (ALT+F11) - En el panel izquierdo has doble Click en ThisWorkbook - Allí copias el siguiente código: Private Sub Workbook_Open() MsgBox ("Hola Kakashi, te saluda Richard Chacón") ' Muestra un saludo al abrir el libro Worksheets("hoja1").Range("A1").Value = 1 'Genera un valor en una celda al abrir Application.CommandBars.FindControl(ID:=30029).Enabled = True 'Inhabilita Desproteger 'Para que funcione, se debe cambiar el True por False UserForm1.Show ' Muestra el User Form para solicitar Usuario y Clave End Sub - Ahora crea el priemer UserForm (UserForm1). Menú Insertar-UserForm - Le Asignas un TextBox y un Botón de Aceptar, al que le copiaras este

Upload: felixdavidleiva6520

Post on 19-Feb-2016

13 views

Category:

Documents


0 download

DESCRIPTION

MACRO DE USUARIO Y CONTRASEÑA EN EXCEL

TRANSCRIPT

Page 1: Macro de Usuario y Contraseña

Macro de usuario y contraseñaNecesito un favorsote.Lo que pasa es que quiero una macro donde al introducir su nombre de usuario y contraseña les de acceso al libro de excel.Me gustaría que esta ontraseñas estuvieran en una hoja de excel y saber cuando entro uno de ellos.¿Se puede?Seguir Responder Más infoCompartir   

2 respuestasRespuesta de patanrisitas1

patanrisitas, Tengo experiencia en macros, funciones avanzadas y algo de...Q+ Kakashi,Primero asegurate de tener dos hojas al menos en tu libro de trabajo.Ejemplo Hoja1 y Hoja2- Luego abre VisualBasic (ALT+F11)- En el panel izquierdo has doble Click en ThisWorkbook- Allí copias el siguiente código:Private Sub Workbook_Open()MsgBox ("Hola Kakashi, te saluda Richard Chacón") ' Muestra un saludo al abrir el libroWorksheets("hoja1").Range("A1").Value = 1 'Genera un valor en una celda al abrirApplication.CommandBars.FindControl(ID:=30029).Enabled = True 'Inhabilita Desproteger'Para que funcione, se debe cambiar el True por FalseUserForm1.Show ' Muestra el User Form para solicitar Usuario y ClaveEnd Sub-  Ahora crea el priemer UserForm (UserForm1). Menú Insertar-UserForm- Le Asignas un TextBox y un Botón de Aceptar, al que le copiaras este código:Private Sub CommandButton1_Click()Dim Clave1, UsuarioClave2 = TextBox1.ValueRange("Clave2") = Clave1Usuario = Range("ElUsuario").ValueIf Usuario <> "Invalido" Then

Page 2: Macro de Usuario y Contraseña

ActiveSheet.Unprotect "123"Unload MeElseMsgBox ("Clave inválida")End IfEnd Sub-Luego creas el 2do UserForm al que le asignas otro TextBox y un Botón de Aceptar con el siguiente código:Private Sub CommandButton1_Click()Dim ClaveClave = TextBox2.ValueIf Clave = 1234 ThenUnload MeUserForm1.ShowElseMsgBox ("Clave inválida")End IfEnd Sub-Luego en la Celda A1 de la Hoja2 escribes "El Usuariode hoy:"- En C1 de la Hoja2 escribes la siguiente Fórmula:=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 RCORRALESPrueba con esto y me avisas..Saludos,RCh.

el 22 ago. 08 

Hola, Gracias por tu ayuda.Solo una duda, lo que pasa es que cuando lo corro me marca error en Range osea en.Range("clave2")=Clave1 y de ahi en adelante no corre.Y otra cuando se llama la primer userform, ¿ahí qué se captura lo de rango (a1)?.Gracias y saludos

el 25 ago. 08 

Q+ Kaka,Creo que mejor te mando un ejemplo... dame un [email protected]

Page 3: Macro de Usuario y Contraseña

Acá tienes de todos modos los códigos para el UF1:Private Sub CommandButton1_Click()Dim Clave1, UsuarioClave1 = TextBox2.ValueRange("Clave1") = Clave1Usuario = Range("ElUsuario").ValueIf Usuario <> "Invalido" ThenActiveSheet.Unprotect "123"Unload MeUserForm2.ShowElseMsgBox ("Clave inválida")End IfEnd SubPrivate Sub UserForm_Activate()TextBox2.SetFocusEnd SubPrivate Sub UserForm_QueryClose _(Cancel As Integer, CloseMode As Integer)' Prevents use of the Close buttonIf CloseMode = vbFormControlMenu ThenMsgBox "Sin viveza.... use su Usuario y Clave"Cancel = TrueEnd IfEnd SubPara el UF2:Private Sub CommandButton1_Click()Dim Clave2Clave2 = TextBox1.ValueIf Clave2 = 1234 ThenUnload MeElseMsgBox ("Clave inválida")End IfEnd SubPrivate Sub UserForm_Activate()TextBox1.SetFocusEnd SubPrivate Sub UserForm_QueryClose _(Cancel As Integer, CloseMode As Integer)' Previene usar el Botón de CerrarIf CloseMode = vbFormControlMenu ThenMsgBox "Sin viveza.... use su Usuario y Clave"

Page 4: Macro de Usuario y Contraseña

Cancel = TrueEnd IfEnd SubPara el Módulo:Sub LaDesprotejo()UserForm1.Show'Unload MeEnd Sub

Y para ThisWorkbook:Private Sub Workbook_Open()MsgBox ("Hola Kakashi, te saluda Richard Chacón") ' Muestra un saludo al abrir el libroWorksheets("hoja1").Range("A1").Value = 1 'Genera un valor en una celdaThisWorkbook.Application.CommandBars.FindControl(ID:=30029).Enabled = TrueUserForm1.ShowEnd SubRecuerda crear y dar nombre al rango de Usuarios en la Hoja2Asignar el nombre ElUsuario a una celda y ponerle esta fórmula:=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 ComentarCompartir

Añadir comentarioRespuesta de jerryeagle1

jerryeaglePara que funciones, debes tener una hoja llamada "Usuarios", un userform1, dos textbox llamados user y pass dos botones, Ok y Cierra y pegar este código en userform:'En el evento Workbook_open de Thisworkbook debes poner este codigouserform1.showPrivate Sub Cierra_Click()If MsgBox("Salir de Excel?", vbYesNo) = vbYes Then    Application.Quit    Unload Me    Else    Unload Me

Page 5: Macro de Usuario y Contraseña

End IfEnd SubPrivate Sub Ok_Click()Application.ScreenUpdating = FalseSheets("Usuarios").Visible = TrueSheets("Usuarios").SelectRange("A2", Range("A65536").End(xlUp)).SelectIf Selection.Find(User.Text, , , xlWhole) Is Nothing Then    GoTo NoEncontrado    Else    Selection.Find(User.Text, , , xlWhole).Select'MsgBox User & "  -  " & PassIf 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    ElseNoEncontrado:    MsgBox "Nombre de Usuario o Contraseña Incorrecta, Verifique el uso correcto de Mayusculas y Minusculas"    User = Empty    Pass = Empty    User.SetFocus    Sheets("acceso").SelectEnd IfEnd IfApplication.ScreenUpdating = TrueEnd SubPrivate 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 SubCualquier 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 botón para que me de el acceso al archivo se queda plasmado y no me deja modificarlo.

Page 6: Macro de Usuario y Contraseña

¿ise algo mal?Gracias y saludos.

el 25 ago. 08 

Tal vez no pusiste esto:<span style="border-collapse: collapse; color: #4a4a4a; font-family: Arial; line-height: 17px;">Application.ScreenUpdating = True </span>Es para regresar a la normalidad la "vista" de los movimientos a la hoja de calculo, o mandame tu archivo para [email protected]