Excel 无错误时显示On Error GoTo(在选择的情况下)
我用几个宏创建了一个excel,这个特殊的部分真的让我很难受,因为它在24小时前工作得很好,我没有对它做任何更改 我有一个表格(Access),每次有人打开Excel时都会弹出,他们必须输入自己的姓氏,然后他们会看到他们的姓名和另一张名为“Stats”的表格。其他一切都隐藏起来了。现在,如果有人输入'NOI',如果你愿意,它就是'master password',几乎所有内容都会显示出来 如果他们没有正确地将输入大写,或者拼错了什么,应该会弹出一条错误消息。但是,即使输入不是错误,表单也会抛出错误消息。将显示正确的工作表,但无论您输入什么,都会出现错误消息框。我知道一定有比“出错转到”更好的方法,但我不太擅长使用“尝试…” 代码如下:Excel 无错误时显示On Error GoTo(在选择的情况下),excel,error-handling,vba,Excel,Error Handling,Vba,我用几个宏创建了一个excel,这个特殊的部分真的让我很难受,因为它在24小时前工作得很好,我没有对它做任何更改 我有一个表格(Access),每次有人打开Excel时都会弹出,他们必须输入自己的姓氏,然后他们会看到他们的姓名和另一张名为“Stats”的表格。其他一切都隐藏起来了。现在,如果有人输入'NOI',如果你愿意,它就是'master password',几乎所有内容都会显示出来 如果他们没有正确地将输入大写,或者拼错了什么,应该会弹出一条错误消息。但是,即使输入不是错误,表单也会抛出错
Private Sub CommandButton1_Click()
Dim pword As String
On Error GoTo endit
pword = TextBox1
Select Case pword
Case Is = "NOI": Call UnHideAllSheets
Case Is <> "NOI": Sheets(TextBox1.Value).Visible = True
End Select
Sheets("ERROR").Visible = False
Sheets("Stats").Visible = True
Sheets(TextBox1.Value).Activate
Me.Hide
Exit Sub
endit: MsgBox "Incorrect Input: check spelling and capitalization"
End Sub
所有这些都是我从其他地方修改的代码。就像我说的,它在24小时前工作得很好。非常感谢任何帮助
Select
语句来完成这个任务,一个简单的If…Else
就可以了Private Sub CommandButton1_Click()
Dim pword As String
pword = TextBox1.Value
If pword = "NOI" Then
UnHideAllSheets
Else
On Error GoTo endit
Sheets(TextBox1.Value).Visible = True
On Error GoTo 0 'always deactivate error handler after the expected error
End If
Sheets("ERROR").Visible = False
Sheets("Stats").Visible = True
Sheets(TextBox1.Value).Activate
Me.Hide
Exit Sub
endit:
MsgBox "Incorrect Input: check spelling and capitalization"
End Sub
pword=TextBox1->pword=TextBox1.Value(你的屏幕名对Ren来说是俄文吗?这并不重要:))工作正常谢谢@RicardoA,当我输入'NOI'时,这不起作用,因为工作表(TextBox1.Value)。Activate将尝试激活工作表(“NOI”)。Activate不存在。但是谢谢你!!
Private Sub CommandButton1_Click()
Dim pword As String
pword = TextBox1.Value
If pword = "NOI" Then
UnHideAllSheets
Else
On Error GoTo endit
Sheets(TextBox1.Value).Visible = True
On Error GoTo 0 'always deactivate error handler after the expected error
End If
Sheets("ERROR").Visible = False
Sheets("Stats").Visible = True
Sheets(TextBox1.Value).Activate
Me.Hide
Exit Sub
endit:
MsgBox "Incorrect Input: check spelling and capitalization"
End Sub