re Password Change again

L

Libby

Hi John

yes that was just a typo before.
I've copied my code below the message I get is
Method Unprotect of object worksheet failed.
txtOld is the old password entered into a textbox on the
form.

Private Sub cmdChange_Click()
If MsgBox("Changing passwords will result in the current
data being lost" & vbNewLine & _
vbNewLine & "Do you want to continue?", vbYesNo) = vbYes
Then
Sheet1.unprotect PASSWORD:=Sheet3.Range("H65536").End
(xlUp).Value
ThisWorkbook.unprotect PASSWORD:=Sheet3.Range("E65536").End
(xlUp).Value
If optMan = True Then 'manager authorisation password
Select Case txtOld.Text
Case Sheet3.Range("b65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet3.Range("b65536").End(xlUp).Value =
TextBox1.Text
Call save
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

ElseIf optWB = True Then 'workbook password
Select Case txtOld.Text
Case Sheet3.Range("e65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet3.Range("e65536").End(xlUp).Value =
TextBox1.Text
Call save
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

ElseIf optWS = True Then
Select Case txtOld.Text
Case Sheet3.Range("h65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet1.unprotect PASSWORD:=txtOld.Text
Sheet3.Range("h65536").End(xlUp).Value =
TextBox1.Text
Call save
Unload Me
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

End If
End If
End Sub

Sub save()
With Sheet1
.Range
("C16,D2:F2,D6:F6,D8:F8,D18:G21,F24:F28").ClearContents
.TextBox1.Enabled = True
.TextBox2.Enabled = True
.txtSpecify.Enabled = True
.TextBox1 = ""
.TextBox2 = ""
.txtSpecify = ""
.TextBox1.Enabled = False
.TextBox2.Enabled = False
.txtSpecify.Enabled = False
.cmdChange.Enabled = False
.CommandButton1.BackColor = vbRed
.CommandButton1.Caption = "Ï"
End With

ThisWorkbook.save
ThisWorkbook.Protect PASSWORD:=Sheet3.Range("e65536").End
(xlUp).Value, structure:=True
Sheet1.Protect PASSWORD:=Sheet3.Range("h65536").End
(xlUp).Value, USERINTERFACEONLY:=True
End Sub
 
J

John Wilson

Libby,

Please try to continue in the same thread and not start a new one.
It helps others (who may be able to help you) follow what's
transpired to get you to your goal.

If possible, can you send the workbook directly to me and
I'll take a look at it.
(e-mail address removed)

John


Hi John

yes that was just a typo before.
I've copied my code below the message I get is
Method Unprotect of object worksheet failed.
txtOld is the old password entered into a textbox on the
form.

Private Sub cmdChange_Click()
If MsgBox("Changing passwords will result in the current
data being lost" & vbNewLine & _
vbNewLine & "Do you want to continue?", vbYesNo) = vbYes
Then
Sheet1.unprotect PASSWORD:=Sheet3.Range("H65536").End
(xlUp).Value
ThisWorkbook.unprotect PASSWORD:=Sheet3.Range("E65536").End
(xlUp).Value
If optMan = True Then 'manager authorisation password
Select Case txtOld.Text
Case Sheet3.Range("b65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet3.Range("b65536").End(xlUp).Value =
TextBox1.Text
Call save
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

ElseIf optWB = True Then 'workbook password
Select Case txtOld.Text
Case Sheet3.Range("e65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet3.Range("e65536").End(xlUp).Value =
TextBox1.Text
Call save
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

ElseIf optWS = True Then
Select Case txtOld.Text
Case Sheet3.Range("h65536").End(xlUp).Value
If TextBox1.Text <> TextBox2.Text Then
MsgBox "Passwords are not the same!" & vbNewLine
& "Please try again", vbCritical
TextBox1 = ""
TextBox2 = ""
TextBox1.SetFocus
Else
Sheet1.unprotect PASSWORD:=txtOld.Text
Sheet3.Range("h65536").End(xlUp).Value =
TextBox1.Text
Call save
Unload Me
End If
Case Else
MsgBox "Invalid Password", vbCritical
txtOld = ""
txtOld.SetFocus
End Select

End If
End If
End Sub

Sub save()
With Sheet1
.Range
("C16,D2:F2,D6:F6,D8:F8,D18:G21,F24:F28").ClearContents
.TextBox1.Enabled = True
.TextBox2.Enabled = True
.txtSpecify.Enabled = True
.TextBox1 = ""
.TextBox2 = ""
.txtSpecify = ""
.TextBox1.Enabled = False
.TextBox2.Enabled = False
.txtSpecify.Enabled = False
.cmdChange.Enabled = False
.CommandButton1.BackColor = vbRed
.CommandButton1.Caption = "Ï"
End With

ThisWorkbook.save
ThisWorkbook.Protect PASSWORD:=Sheet3.Range("e65536").End
(xlUp).Value, structure:=True
Sheet1.Protect PASSWORD:=Sheet3.Range("h65536").End
(xlUp).Value, USERINTERFACEONLY:=True
End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top