Excel VBA编程  退出语句
在Excel中,退出语句有两种意义,第一种是指退出正在执行的VBA代码,而另一种则是退出运行程序或Excel系统。
1.End 语句
End语句作用于第一种退出语句,一般用于结束一个过程或块。其格式如下:
格式:End
End 语句的语法可应用于多种形式的退出,如表6-6所示:
表6-6  End语句的语法
语句
描述
End
停止执行。可放在过程中的任何位置,用来关闭代码执行,或关闭以 Open 语句打开的文件,并清除变量。
End Function
用于结束一个 Function 语句。
End If
用于结束一个 If…Then…Else 语句块。
End Property
用于结束一个 Property Let、Property Get、或 Property Set 过程。
End Select
用于结束一个 Select Case 语句。
End Sub
用于结束一个 Sub 语句。
End Type
用于结束一个用户定义类型的定义(Type 语句)。
End With
用于结束一个 With 语句。
vba编程技巧
End 语句提供了一种强制中止程序的方法。只要没有其它程序引用该程序公共类模块创建的对象,且无代码执行时,程序将立即关闭。
提  示
End 语句在执行时,会重置所有模块级别变量和所有模块的静态局部变量。若要保留这些变量的值,改为使用 Stop 语句,则可以在保留这些变量值的基础上恢复执行。
注  意
窗体类模块中End 语句不调用Unload、QueryUnload、或Terminate 事件或任何其它Visual Basic 代码,只是强制终止代码执行,且类模块创建的对象被破坏,由Open 语句打开的文件被关闭,并释放程序所占用的内存。
2.Quit 方法
执行Quit方法,将会退出Microsoft Excel。使用该方法与单击Microsoft Excel系统标题栏的关闭按钮的执行结果相同,该方法的格式如下:
格式:表达式.Quit
表达式代表 Application 对象的变量。使用此方法时,如果未保存的工作簿处于打开状态则 Microsoft Excel 将显示一个对话框,询问是否要保存所作更改。
如果使用 Quit 方法前保存所有工作簿或将 DisplayAlerts 属性设置为 False。则在 Microsoft Excel 退出时,不显示对话框,且有未保存的工作簿时,不保存就退出。代码如下:
Application.DisplayAlerts = False  '设置DisplayAlerts属性
Application.Quit                '退出系统
将工作簿的Saved 属性设置为 True,如果有未保存的工作簿,则在Microsoft Excel退出时,将不提示且不保存工作簿。代码如下:
ActiveWorkbook.Saved = True    '退出系统
Application.Quit