【发布时间】:2015-05-08 21:34:41
【问题描述】:
我正在尝试制作 Excel 2007 vba 代码以使用用户窗体选择工作表。在测试时,如果我输入工作簿中不存在的工作表名称,我会收到 'Subscript out of range' 错误。我的代码如下。
Private Sub Okbtn_Click()
sheetname = Me.ComboBox1.Value
If sheetname = "" Then
Unload Me
MsgBox "Sheet Name not enetered", vbExclamation, "Hey!"
Exit Sub
End If
ThisWorkbook.Sheets(sheetname).Activate 'Error points here!!
On Error GoTo errmsg
'If Error.Value = 9 Then GoTo errmsg
Unload Me
MsgBox "Now you are in sheet: " & sheetname & "!", vbInformation, "Sheet Changed"
errmsg:
MsgBox ("Sheet name not found in " & ThisWorkbook.Name & " !")
End Sub
错误在 ThisWorkbook.Sheets(sheetname).Activate 中。我尝试在问题行之前和之后放置一些错误处理技巧,但我得到了相同的错误 9。
我对编码很陌生。我想我正确地解释了这个问题。我想避免弹出错误,但应该显示自定义消息。
【问题讨论】:
标签: vba excel error-handling subscript