Ayuda con Fucion if, else,end if me da error

Hola experto!
Tengo un problema, mira tengo dos userforms que simulan cambiar una contraseña, el primero que me pida la contraseña guardada en una celda, este es el código del botón de aceptar del primero:
Private Sub boton_de_aceptar_primer_userform_Click()
contraseña = Range("a1")
If TextBox1 = contraseña Then
Unload Verificar_contraseña
Load cambiar_contraseña
cambiar_contraseña.Show
Else
MsgBox "Contraseña Incorrecta"
TextBox1.SetFocus
TextBox1 = Empty
End If
End Sub
"HASTA AQUI TODO ESTA BIEN"
Pero en el segundo, lo que intento hacer es que me pida una nueva contraseña y que la repita para verificar la primera contraseña del primer textbox, osea que sean iguales. Y que si los dos textbox están vacíos y el usuario presiona el botón de aceptar les pida que introduzcan una contraseña, y que si los dos textbox están llenos y son idénticos me diga que la contraseña ha sido cambiada con éxito.
aqui el codigo del segundo userform:
Private Sub boton_de_aceptar_segundo_userform_Click()
If TextBox2 <> TextBox1 Then
MsgBox "Las contraseñas no coinciden"
TextBox1 = Empty
TextBox2 = Empty
TextBox1.SetFocus
Else
If TextBox1 = Empty And TextBox2 = Empty Then
MsgBox "Introduce una contraseña valida"
Else
If TextBox1 =full and TextBox2=full and TextBox1 = TextBox2 Then
Range("a1") = TextBox2
MsgBox "Contraseña cambiada con exito"
Unload cambiar
End If
End Sub
En esta parte no se si se deba usar la palabra full para indicar si esta lleno el textbox, y aparte me marca este error [error de compilacion:bloque if sin end if]
NO SE USAR MUY BIEN EL IF,ELSE Y END IF. EN ESO ME ESTOY CONFUNDIENDO.
Te agradezco tu tiempo y espero me puedas ayudar, trate de ser lo más claro posible.
GRACIAS, SDLS.

2 Respuestas

Respuesta
1
Me gustan este tipo de preguntas cuando de verdad son dudas.
Bueno no te preocupes mira primero te explicare como funcionan las funciones condicionales de carácter if
Normalmente un condicional if está caracterizado por la sintaxis:
IF (condicion que debe tener como resultado tru o false) then
Realice x cantidad de sentencias
else (si es false la condicion)
Realice x cantidad de sentencias
end if
Ademas podemos encontrar sentencias anidadas:
IF (condicion que debe tener como resultado tru o false) then
Realice x cantidad de sentencias
else (si es false la condicion)
    IF(condicion en caso de que sea false la primera condicion)
    Realice x canidad de sentecias
    else
    Realice x cantidad de sentencias o haga otro if
    end if (termina el segundo if)
end if (termina el primer if)
Existen expresiones dentro del sistema que permiten ejecutar sentencias ya dentro de la librería por ejemplo la expresión full no se usa.
lo que se hace es poner
<> (significa distinto de)
"" (significa texto o contenido es decir si pongo: x<>""
significa que x no tiene texto otro ejemplo
if text_box1 <> "" then
el text_box1 tiene contenido de cualquier indole
else
el text_box1 no tiene nada dentro de si
end if
corrigelo y me cuentas! saludos espero te haya servido
Saludos!
Recuerda visitar www.ayconcol.com son expertos en el tema si quieres aprender más
puedes meterte en www.ayconcol.com/foro creas usuario y todo y listo! Si quieres ellos también elaboran aplicativos a un costo muy bajo!
Respuesta
-1
Lo que yo haría, en la segunda parte, al pedir se escriba una contraseña en un text box, esta mandarla a una celda y la segunda vez que la solicite esta sea comparada ya con la celda y no con lo que puedas "almacenar" como variable.
Respecto al problema de End if, de verdad no entiendo si eres capaz de hacer todo esto, ¿no saber que debes cerrar los If?
Espero te sirva mi idea, si quieres que haga el ejercicio completo me avisas, lo hago y te lo mando.
Creo que te debes mostrar un poco respetuoso con base a tus respuestas (de verdad no entiendo si eres capaz de hacer todo esto, ¿no saber que debes cerrar los If?)
Porque no todos somos expertos en el tema(TODOS SOMOS IGNORANTES PERO LO QUE PASA ES QUE NO TODOS IGNORAMOS LO MISMO) ya que seas quien seas debes mostrar respeto a las personas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas