VBA-Excel-转到用户窗体时出错

VBA-Excel-转到用户窗体时出错,vba,error-handling,excel,Vba,Error Handling,Excel,当出现错误时,我希望返回到我的userform,更改表单上输入的信息,并将其重新传递到宏中,然后从以下位置继续:如果Len(Dir(sFilePath&newfol,vbDirectory))=0 上面给出了一条错误消息:Compile error:Label not defined at“On error GoTO UserForm1”当您使用“On error GoTO”语句时,您告诉程序当遇到错误时,跳到当前过程中的特定行。例如: On Error GoTo ErrorHandler x

当出现错误时,我希望返回到我的userform,更改表单上输入的信息,并将其重新传递到宏中,然后从以下位置继续:如果Len(Dir(sFilePath&newfol,vbDirectory))=0

上面给出了一条错误消息:Compile error:Label not defined at“On error GoTO UserForm1”

当您使用“On error GoTO”语句时,您告诉程序当遇到错误时,跳到当前过程中的特定行。例如:

On Error GoTo ErrorHandler
x = 10 / 0
msgbox "x = infinity!"

ErrorHandler:
msgbox "Cannot divide by zero"
在本例中,当代码遇到错误时(在我的“On error”语句之后),它将停止正在执行的操作,并开始在ErrorHandler标签处执行代码(由于末尾的冒号,它是一个标签)。运行此代码时,您将永远不会看到消息框显示x=infinity。一旦它通过尝试除以零来命中错误,它将跳转到ErrorHandler标签,并给我一条消息说我不能除以零

Chip Pearson对基本错误处理有很好的介绍。

当您使用“On error GoTo”语句时,您告诉程序当遇到错误时,跳到当前过程中的特定行。例如:

On Error GoTo ErrorHandler
x = 10 / 0
msgbox "x = infinity!"

ErrorHandler:
msgbox "Cannot divide by zero"
在本例中,当代码遇到错误时(在我的“On error”语句之后),它将停止正在执行的操作,并开始在ErrorHandler标签处执行代码(由于末尾的冒号,它是一个标签)。运行此代码时,您将永远不会看到消息框显示x=infinity。一旦它通过尝试除以零来命中错误,它将跳转到ErrorHandler标签,并给我一条消息说我不能除以零


Chip Pearson对基本错误处理有很好的介绍。

作为Craig所说内容的补充,制作一个标签,然后编写一些代码来调用用户表单并执行需要执行的操作。作为Craig所说内容的补充,制作一个标签,然后编写一些代码来调用用户表单并执行需要执行的操作。