返回列表 上一主題 發帖

[發問] 關於 on error resume next

[發問] 關於 on error resume next

On Error Resume Next '遇錯誤要繼續執行
Reset:
x = InputBox("請輸入預瀏覽之排程日期", , "請輸入日期 <例如 1007 1010 >")
ActiveWorkbook.FollowHyperlink "http://zipsum/fileupload/LCD6RPT/01.前排程相關資訊/00.LCD6%20前段排程%20Watch%20This%20!!/201510/LCD6%20生產排程%20與%20Watch%20This" & x & "前排版.xls"
If Err.Number <> 0 Then '若前面有發生錯誤
result = MsgBox(prompt:=Err.Description & vbCrLf & vbCrLf & "要繼續執行嗎?", _
Buttons:=vbYesNo, Title:="發生錯誤", HelpFile:=Err.HelpFile, Context:=Err.HelpContext)
GoTo Reset
If Not result = vbYes Then Exit Sub '若按 "否" 就結束
End If
End Sub

小弟的問題在於如果出現錯誤,按否應該是會結束,結果他變成無限迴圈,重覆執行inputbox
能否請各位達人幫幫忙 幫小弟修改一下  出現錯誤 按是重新執行 按否直接離開
另一問 如果檔案中有網頁的更新連結訊息,是否也會被當成是錯誤代碼 帶入 on error 中呢??

感謝各位的幫忙 真的沒想到只是一個順序的問題 竟然能導致無限迴圈
小弟受教了 大家太利害了 謝謝

TOP

回復 1# feecshyrnd

    If Not result = vbYes Then Exit Sub '若按 "否" 就結束
    Err.Clear     '清除 Err
    GoTo Reset
表達不清、題意不明確、沒附檔案格式、沒有討論問題的態度~~~~~~以上愛莫能助。

TOP

回復 1# feecshyrnd
程式的偵錯
vba視窗 -> 要偵錯的模組->滑鼠移到要偵錯程序中
按F8逐步執行看成是如何執行程式碼

圖示查看變數



感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 1# feecshyrnd
  1. GoTo Reset
  2. If Not result = vbYes Then Exit Sub '若按 "否" 就結束
複製代碼
把這二句順序對調就行了,因為此寫法是先直接跳回reset:,
因此沒有執行到If Not result = vbYes Then Exit Sub '若按 "否" 就結束,
所以才會造成無限迴圈。

TOP

        靜思自在 : 【時間成就一切】時間可以造就人格,可以成就事業,也可以儲積功德。
返回列表 上一主題