Este es con 3 intentos
Primero amigo abres el gestor vba
Después te posicionas en el archivo Que dice ThisWorkbook y colocas este código:
Application.Visible = True ß oculta la aplicacion de excel y solo muestra tu frm creado
Sheets("Hoja1"). Activate ß nombre de la hoja que se posisiona
FrmAcceso.Show ß NOMBRE DE TU Frm que creas para el usuario o solo la contraseña.
En tu frmAcceso
Colocas un botón para verificar la contraseña
Dentro del botón colocas el siguiente código:
'Definimos la variable pública Intentos
Public Intentos As Byte
'
'Validar la clave
Private Sub CommandButton1_Click()
If Me.txtPass.Value = 1234 Then
MsgBox "Contraseña válida. Se cerrará el formulario.", _
vbInformation, "EXCELeINFO"
Unload Me
Else
Intentos = Intentos + 1
MsgBox "Contraseña inválida. Llevas " & Intentos & " intento(s).", _
vbInformation, "EXCELeINFO"
Me.txtPass.SetFocus
Me.txtPass.Value = ""
End If
If Intentos = 3 Then
MsgBox "Has cumplido 3 intentos. Aquí se cerrará el archivo Excel.", _
vbInformation, "EXCELeINFO"
Unload Me
ActiveWorkbook.Close SaveChanges:=False ß Cierra el libro si la contraseña es incorrecta
Application.Visible = True ß hace visible excel
Else
End If
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub Label1_Click()
End Sub
'
'Formateamos los objetos del formulario
Private Sub UserForm_Initialize()
With Me
.txtPass.PasswordChar = "*"
.txtPass.MaxLength = 8
End With
End Sub
'
'Evitamos que use la x para cerrar el formulario
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
MsgBox "Por favor, ingresa una contraseña.", vbInformation, "EXCELeINFO"
End If
End Sub