我正在尝试在下面的代码中放置一条错误消息(因此,如果发生运行时错误,我希望出现msgbox,并且当用户单击错误消息时该代码停止运行。我在下面给出了一个镜头,但有一些错误问题代码无法按我的意愿运行。想知道是否有人可以帮助我。
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
On Error GoTo ErrorMsgBox
HL.Range.Offset(0, 1).Value = HL.Address
HL.Range.Offset(0, 1).Value = FileDateTime(HL.Range.Offset(0, 1).Value)
Exit Sub
ErrorMsgBox:
MsgBox ("Error")
Resume Next
Next
End Sub
你的错误处理需要去外面的循环。另外,由于您希望代码停止运行,因此不应使用Resume Next
statement。另外,您的循环Exit Sub
内部For...Next
可能会感到困惑,但这意味着您的“循环”只能运行一次,这几乎肯定不是您想要的。
修改:
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
On Error GoTo ErrorMsgBox
HL.Range.Offset(0, 1).Value = HL.Address
HL.Range.Offset(0, 1).Value = FileDateTime(HL.Range.Offset(0, 1).Value)
Next
'# Put the exit statement *before* your error handler, and *outside* of the loop
Exit Sub
'# Error handler will inform user and end sub.
ErrorMsgBox:
MsgBox ("Error")
Err.Clear
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句