on error goto 语句的确是可以跳到指定位置执行需要代码,但是如果程序没错,而跳转语句在该代码段后面是也会被执行的,因为你在error_1之前没先跳出这段代码.修改方法:在error_1和End If之间加一句Exit Sub即可.