gpt4 book ai didi

vba - 出错时继续下一步不起作用

转载 作者:行者123 更新时间:2023-12-02 21:19:36 25 4
gpt4 key购买 nike

因此,我创建了一个相当大的宏,为我的公司创建 powerpoint 演示文稿。我希望能够使用以下命令在 2 个不同的区域运行它:

For each sRegion

MyMacro(sRegion)

Next

有些行我想跳过。第一次运行时,MyMacro 工作正常,错误处理程序会跳过这些步骤。但是,对于下一个 sRegion,错误处理程序不起作用。

即使我逐行运行它,通过 on error resume next 语句,它也不起作用,实际上只是停止宏。

我将在它被破坏的地方发布代码,尽管它完全不相关(在第二次运行时,在第一次调用宏时工作正常)

On Error Resume Next

PPPres.Slides(19).Moveto ToPos:=12
PPPres.Slides(20).Moveto ToPos:=13
PPPres.Slides(21).Moveto ToPos:=14
PPPres.Slides(22).Moveto ToPos:=15
PPPres.Slides(23).Moveto ToPos:=16

On Error GoTo 0

它将完全忽略错误并抛出错误并停止宏。

在有人建议"is"之前,我已经检查了错误捕获是否处于“未处理错误时中断”状态,并且它是

有人以前遇到过这个问题或者知道解决方案吗?

最佳答案

请确保在跳转到错误后(您使用了 On Error GoTo ),您可以使用 Resume 删除错误条件。或Resume NextResume <label>命令。 或者,删除 On Error GoTo ,仅使用On Error Resume Next .

根据您的问题和评论,您正在执行以下操作,在第二个语句中总是抛出错误:

Sub WrongOne()
On Error Goto Handler1 'prepared for error
Statement1WithError() 'error causes jump

Handler1: 'jump done, error handling is now disabled
Statement2WithError() 'THIS WILL ALWAYS THROW ERROR
End Sub

您总是会在 Statement2WithError() 上收到错误消息

正确方法:

Sub CorrectOne()

On Error Goto Handler1 '1. prepared for error
Statement1WithError() '2. error causes jump

Waypoint1: '5. continuing here
On Error Goto Handler2 '6. prepared for another error

Statement2WithError() '7. error causes jump to Handler2
Statement3WithError() '10. error causes jump to Handler2
Statement4WithError() 'etc...

Exit Sub

'EXAMPLE: after error, continue at SPECIFIC LABEL
Handler1: '3. jump done, error handling is now disabled
MsgBox(...)
Resume Waypoint1 '4. error handling is reloaded, jumping to label

'EXAMPLE: after error, continue with NEXT LINE
Handler2: '8. jump done, error handling is now disabled
MsgBox(...)
Resume Next '9. error handling is reloaded, now jumping to line
' following the line that caused error

End Sub

就您而言,VBA 正在按预期工作。可以学习how error handling works in VBA .

关于vba - 出错时继续下一步不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28501838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com