Password
Can you help please?
To password protect a worksheet I am using the following code: Private Sub Worksheet_Activate() 'password protect your VBA project Dim strPassword As String On Error Resume Next Const Password = "dafydd" Me.Protect Password:=Password Me.Columns.Hidden = True strPassword = InputBox("Enter password to view this sheet") If strPassword = "" Then Me.Previous.Select Exit Sub ElseIf strPassword < Password Then MsgBox "Password Incorrect", , "Wrong password" Me.Previous.Select Exit Sub Else Me.Unprotect Password:=Password Me.Columns.Hidden = False End If On Error GoTo 0 End Sub Private Sub Worksheet_Deactivate() On Error Resume Next Me.Columns.Hidden = True On Error GoTo 0 End Sub Is there a way I can adjust the code so that the password doesn't actually show when it is typed? |
Password
On 27 Nov., 12:13, dafydd wrote:
Can you help please? To password protect a worksheet I am using the following code: Private Sub Worksheet_Activate() 'password protect your VBA project Dim strPassword As String On Error Resume Next Const Password = "dafydd" Me.Protect Password:=Password Me.Columns.Hidden = True strPassword = InputBox("Enter password to view this sheet") If strPassword = "" Then Me.Previous.Select Exit Sub ElseIf strPassword < Password Then MsgBox "Password Incorrect", , "Wrong password" Me.Previous.Select Exit Sub Else Me.Unprotect Password:=Password Me.Columns.Hidden = False End If On Error GoTo 0 End Sub Private Sub Worksheet_Deactivate() On Error Resume Next Me.Columns.Hidden = True On Error GoTo 0 End Sub Is there a way I can adjust the code so that the password doesn't actually show when it is typed? Insert on top the line Application.Screenupdating = False and at the end insert Application.screenupdating = True Good luck Udo |
Password
Interesting, simple solution - but probably doesn't want to put that
instruction right at the top - right after the Me.Columns.Hidden statement might be a better place. I was going to suggest using a UserForm - since the text boxes in a form can be given a 'password character' as one of their properties - all typed into the text box are displayed as that character. Basically the Worksheet_Activate() process would just pull up the userform, as UserForm1.Show and pretty much the code dafydd has there now would be in the userform's code segments, using ActiveSheet instead of Me (since Me would then refer to the form and not the sheet). But if the Application.ScreenUpdating =True/False statement do the job for him, it's much easier to implement at this point. "Udo" wrote: On 27 Nov., 12:13, dafydd wrote: Can you help please? To password protect a worksheet I am using the following code: Private Sub Worksheet_Activate() 'password protect your VBA project Dim strPassword As String On Error Resume Next Const Password = "dafydd" Me.Protect Password:=Password Me.Columns.Hidden = True strPassword = InputBox("Enter password to view this sheet") If strPassword = "" Then Me.Previous.Select Exit Sub ElseIf strPassword < Password Then MsgBox "Password Incorrect", , "Wrong password" Me.Previous.Select Exit Sub Else Me.Unprotect Password:=Password Me.Columns.Hidden = False End If On Error GoTo 0 End Sub Private Sub Worksheet_Deactivate() On Error Resume Next Me.Columns.Hidden = True On Error GoTo 0 End Sub Is there a way I can adjust the code so that the password doesn't actually show when it is typed? Insert on top the line Application.Screenupdating = False and at the end insert Application.screenupdating = True Good luck Udo |
Password
Hi,
I'm a bit sceptical about applicatin.screenupdating working and input boxes don't have a password character property but there is a workaround: http://www.xcelfiles.com/API_09.html I've used this and it works but I wouldn't bother again it's far to much hassle when a userform does it using inbuilt functionality. Mike "dafydd" wrote: Can you help please? To password protect a worksheet I am using the following code: Private Sub Worksheet_Activate() 'password protect your VBA project Dim strPassword As String On Error Resume Next Const Password = "dafydd" Me.Protect Password:=Password Me.Columns.Hidden = True strPassword = InputBox("Enter password to view this sheet") If strPassword = "" Then Me.Previous.Select Exit Sub ElseIf strPassword < Password Then MsgBox "Password Incorrect", , "Wrong password" Me.Previous.Select Exit Sub Else Me.Unprotect Password:=Password Me.Columns.Hidden = False End If On Error GoTo 0 End Sub Private Sub Worksheet_Deactivate() On Error Resume Next Me.Columns.Hidden = True On Error GoTo 0 End Sub Is there a way I can adjust the code so that the password doesn't actually show when it is typed? |
All times are GMT +1. The time now is 11:35 AM. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com