Userform para password

Buenos días,
A ver si puedes ayudarme, nuevamente.
Tengo una hoja, llamada Inicio, en la que tengo tres columnas (A, B y C). En estas columnas, tengo una serie de datos como son: Columna A(usuario), columna B(password) y columna C(tipo de acceso).
Para lo que necesito, he creado un userform, que funciona como cuadro de entrada de password. Dicho Userform, tiene dos textbox (textbox 1 y textbox 2y un CommandButton.
Los datos introducidos en los textbox1 y 2, se plasman en las celdas A1 y B1, respectivamente.
Lo que necesito es que, al hacer click sobre el commandbutton, ejecute una macro, que haga lo siguiente:
Busque en la columna A, el dato introducido en el textbox1, si este coincide con algún dato de esta columna, se desplace a la columna B, a la altura de la fila, en la que encontró la coincidencia, que compare este dato con el textbox2, y si también coincide, se desplace a la columna C, en la misma fila que encontró los datos anteriores, copie este dato y lo traslade a C1. Con estos datos, debe ejecutar un nuevo userform.
Evidentemente, en caso de no coincidir los datos, el userform, entenderá que no puede ejecutar la macro, puesto que no reúne todos los requisitos.
Espero tu respuesta.
Gracias y un saludo.

1 respuesta

Respuesta
1
Tu procedimiento debería ser más o menos así
sub CommandButton_Click()
dim valPass
valPass = Application.WorksheetFunction.VLookup(textbox1.Text, Range("A1:C1000"), 2, False)
if valPass = textbox2.text then
  valPass = Application.WorksheetFunction.VLookup(textbox1.Text, Range("A1:C1000"), 3, False)
  Range("C1")=valPass
End if
Else
'No coincide la contraseña, que haga otra cosa...
Exit sub
End if
'...
end sub
Avanzá un poco más y si te trabás avisá
Buenos días gfellay.
No termina de cargarme bien la instrucción.
No se que estoy haciendo mal.
Aunque le he dado otra solución, te rogaría me explicaras un poco más como funciona la macro que me has enviado.
Un saludo.
Te trato de detallar paso a paso lo que sería el código
sub CommandButton_Click()
dim valPass                  Declaro la variable

valPass = Application.WorksheetFunction.VLookup(textbox1.Text, Range("A1:C1000"), 2, False)                      Esta función haría lo mismo que el Vlookup (buscarv) de la hoja excel y dejaría el resultado en valPass

if valPass = textbox2.text then      Comparo el resultado anterior con tu textbox2

valPass = Application.WorksheetFunction.VLookup(textbox1.Text, Range("A1:C1000"), 3, False)                        En caso que sean iguales me traigo en valPass el valor de la tercer columna
Range("C1")=valPass            y lo pongo en C1
End if
Else                           Si pasa por acá es porque no coincidió la contraseña
'No coincide la contraseña, que haga otra cosa...
Exit sub                  Sale del procedimiento
End if                   Termina el If que revisa las contraseñas
'...                       Si quisieras hacer algo después
end sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas