我是一个初学者,我已经在Google上度过了几个小时,但没人能找到答案。
要测试错误,请输入两个任意密码以引起错误–第一次可以正常运行(第1笔),但是第二个密码错误则失败。它在驱赶我香蕉!我试图重置错误计数器??? –对我没有任何帮助!
我有一个打开的工作簿,其中包含“ ThisWorkbook”上的例程,并调用(分支)模块9上的“ Sub Password_Check”。我是一个旧的Fortran编程器,但VBA更加复杂!
Sub Password_Check()
Dim i As Integer
iTotal = 0
On Error GoTo Message
For i = 1 To 3
ActiveSheet.Unprotect
Message:
If i = 1 Then MsgBox " STRIKE " & (i)
If i = 2 Then MsgBox " STRIKE " & (i)
If i = 3 Then MsgBox " STRIKE " & (i)
Next
Application.Quit
End Sub
我将非常感谢!
此致
Oscar G Duarte
在此先感谢您的帮助!
答案 0 :(得分:1)
您的错误在for循环内。您想要给用户三种尝试来解锁工作簿的尝试。您需要将错误处理程序置于循环之外。我不是VBA程序员或Windows用户,因此我无法对其进行测试,但是您的逻辑需要看起来像这样。希望它会有所帮助。在VBA上下文中查看错误处理和子例程。
Sub Password_Check()
Dim i As Integer
iTotal = 0
On Error GoTo ErrorHandler
For i = 1 To 3
ActiveSheet.Unprotect
Next
Exit Sub
ErrorHandler:
MsgBox " STRIKE " & (i)
if i = 3 Then
Application.Quit
Else
Resume
End Sub