When a password is entered...

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182
I have a macro which runs to make the user enter a password after a control button is pushed. It works perfectly, my only problem is when the password is entered the text being typed is visible. Is there any way of the text appearing as "******" or "XXXXXXX" so as anyone around cannot see the password?

thanks in advance guy's

jim

here is the macro:

Sub UNHIDEFORM()
'
' UNHIDEFORM Macro
' Macro recorded 30/01/2004 by gibsonj
'

'
Dim Pass, Msg As String
Dim Ans As Byte
Msg = "Wrong Password" & vbCrLf
Msg = Msg & "Try Again ?"
Password = "PRESLEY" ' Case sensitive
Pass = "xxx"

Do Until Pass = Password
Pass = InputBox("Enter Password", "Password")
If Pass = "" Then ActiveWorkbook.Close SaveChanges:=False
If Pass <> "PRESLEY" Then Ans = MsgBox(Msg, vbCritical + vbYesNo, "Password")
If Ans = vbNo Then ActiveWorkbook.Close SaveChanges:=False
Loop
Range("A1").Select

Columns("B:J").Select
Selection.EntireColumn.Hidden = False
Range("E2:F2").Select
End Sub
 

Some videos you may like

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.

BrianB

Well-known Member
Joined
Feb 17, 2003
Messages
8,127
You will need a userform with a textbox. You can then set the PasswordChar property to * or whatever.
 

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182
Thanks for the help guy's

I have made a user form, and changed the properties, will the code for the macro i have work the same for the user form?

I haven't had much luck with user forms in the past, i have given up on them usually.

For instance, underneath the text box i have made an "OK" command button, can i paste the relevent piece of code from my original macro?

jim
 

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182

ADVERTISEMENT

Success!
I have made the userform work!
BUT
If the correct password is entered it does as it should, If the password is incorrect the message box appears asking to try again, If i click yes the message box reappears instantly, when i click no the whole book closes.

What do i have to change so when yes try again is clicked the curseor goes back to a cleared textbox on the userform?

Any help is really appreciated chaps.

code:

Private Sub CommandButton1_Click()
Dim Pass, Msg As String
Dim Ans As Byte
Msg = "Wrong Password" & vbCrLf
Msg = Msg & "Try Again ?"
Password = "PRESLEY" ' Case sensitive
Pass = "xxx"

Do Until Pass = Password
Pass = TextBox1.Text
If Pass = "" Then ActiveWorkbook.Close SaveChanges:=False
If Pass <> "PRESLEY" Then Ans = MsgBox(Msg, vbCritical + vbYesNo, "Password")
If Ans = vbNo Then ActiveWorkbook.Close SaveChanges:=False
Loop
Range("A1").Select

Columns("B:J").Select
Selection.EntireColumn.Hidden = False
Range("E2:F2").Select
UserForm2.Hide
End Sub
 

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182
ME AGAIN!!!

I think I know which part of the above code I have to change, alas i do not know what to write:

Do Until Pass = Password
Pass = TextBox1.Text
If Pass = "" Then ActiveWorkbook.Close SaveChanges:=False
If Pass <> "PRESLEY" Then Ans = MsgBox(Msg, vbCritical + vbYesNo, "Password")
If Ans = vbNo Then ActiveWorkbook.Close SaveChanges:=False
If Ans = vbYes Then..............
Loop

After the "then" I need it to say TextBox1.select, is this correct, as whenever i have tried i keep loosing what i have just done as the workbook closes!

thanks guys.
 

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182

ADVERTISEMENT

Nope, It's no good. I have searched through all of the available help and i am still clueless.

Where do i go from here.

I want the message box to hide, and the cursor to return to the text box in the form.

Surely this is possible isn't it?

o_O

jim
 

Richie(UK)

MrExcel MVP
Joined
May 17, 2002
Messages
3,329
Hi jim,

Is this the sort of thing you mean?
Code:
Private Sub CommandButton1_Click()
    
    Const Password As String = "PRESLEY"    ' Case sensitive
    Dim Pass As String, Msg As String
    Dim Ans As Integer
    
    Msg = "Wrong Password" & vbCrLf & "Try Again ?"
    Pass = TextBox1.Text
    
    If Pass = "" Then ActiveWorkbook.Close SaveChanges:=False
    
    If Pass <> "PRESLEY" Then
        Ans = MsgBox(Msg, vbCritical + vbYesNo, "Password")
        If Ans = vbNo Then
            ActiveWorkbook.Close SaveChanges:=False
        Else
            TextBox1.Text = ""
            TextBox1.SetFocus
        End If
    Else
        Unload Me
    End If
    
End Sub
HTH
 

BrianB

Well-known Member
Joined
Feb 17, 2003
Messages
8,127
You do not need that Yes ... line. The macro returns to the dialog.
 

jimmywanna

Board Regular
Joined
Mar 18, 2002
Messages
182
Fantastic.

Thanks Guy's

I am so close to almost understanding this stuff, with the help of you guy's I wiil one day actually know what I'm doing.

Thanks again

Jim
:pray:
 

Watch MrExcel Video

Forum statistics

Threads
1,123,271
Messages
5,600,651
Members
414,399
Latest member
Ninjee

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top