Excel - Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

 
Vista:
sin imagen de perfil

Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

Publicado por Ramón (89 intervenciones) el 21/06/2023 17:03:41
Mediante el código que insertaré al final consigo que en el procedimiento de apertura de determinada hoja de mi libro xlsm, ésta no se abra si el usuario no introduce en el InputBox que en aquél se instrumenta la password que tengo establecida (en mi procedimiento: MyPass=123).
El procedimiento funciona correctamente menos en un detalle que pudiera ser más “estético” que otra cosa, y es que si el usuario da a ‘Cancelar’ o cierra desde su “X” el InputBox previsto en aquél, el usuario recibe el MsgBox también previsto en él: “La contraseña no es válida”, cuando en realidad no se ha introducido contraseña alguna, ¿cómo puedo cancelar la ejecución del código en tales supuestos y que en suma no se envíe el MsgBox?

Este es el procedimiento que tengo escrito:

1
2
3
4
5
6
7
8
9
10
11
Dim MyPass As String
Dim TuPass As String
 
MyPass = 123
TuPass = InputBox("INTRODUZCA LA CONTRASEÑA:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _
"                         [Inicialmente es '123']"
If TuPass <> MyPass Then
MsgBox "LA CONTRASEÑA NO ES VÁLIDA.", vbExclamation, "NOMBRE DE MI APLICACIÓN"
Exit Sub
 
End If
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

Publicado por Andres Leonardo (1584 intervenciones) el 21/06/2023 19:02:50
Espero te sirva

1
2
3
4
5
6
7
8
9
10
11
12
Dim MyPass As String
Dim TuPass As String
 
MyPass = 123
TuPass = InputBox("INTRODUZCA LA CONTRASEÑA:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _
"                         [Inicialmente es '123']"
if tupass = "" then exit sub 
If TuPass <> MyPass Then
MsgBox "LA CONTRASEÑA NO ES VÁLIDA.", vbExclamation, "NOMBRE DE MI APLICACIÓN"
Exit Sub
 
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

Publicado por Ramón (89 intervenciones) el 21/06/2023 22:40:28
Perfecto, Andrés, muchas gracias!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

Publicado por Antoni Masana (2498 intervenciones) el 21/06/2023 23:09:32
Hay varias formas de hacerlo

Opción - 1

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub ...
    Dim MyPass As String
    Dim TuPass As String
 
    MyPass = 123
    TuPass = InputBox("INTRODUZCA LA CONTRASEÑA:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _
                      "                         [Inicialmente es '123']"
    If Len(TuPass) = 0 Then Exit Sub
    If TuPass <> MyPass Then
        MsgBox "LA CONTRASEÑA NO ES VÁLIDA.", vbExclamation, "NOMBRE DE MI APLICACIÓN"
        Exit Sub
    End If
End Sub

Opción - 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub ...
    Dim MyPass As String
    Dim TuPass As String
 
    MyPass = 123
    TuPass = InputBox("INTRODUZCA LA CONTRASEÑA:" & Chr(13) & Chr(10) & Chr(13) & Chr(10) & _
                      "                         [Inicialmente es '123']"
    If TuPass <> MyPass Then
        If Len(TuPass) > 0 Then
            MsgBox "LA CONTRASEÑA NO ES VÁLIDA.", vbExclamation, "NOMBRE DE MI APLICACIÓN"
        End If
        Exit Sub
     End If
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Cancelar ejecución procedimiento SUB si no se introduce contraseña alguna en uno que la requiere.

Publicado por Ramón (89 intervenciones) el 22/06/2023 10:23:50
Gracias una vez más, Antoni!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar