VBA实践技巧精粹005:如何不显示警告信息

使用Worksheet对象的Delete方法能删除指定的工作表:

Worksheets(3).Delete

那如何判断是否已经删除了呢?由于Delete方法返回一个布尔值,所以可以利用这点来进行判断。

Sub 删除指定工作表()
    Dim bDeleted As Boolean
    bDeleted = Worksheets(3).Delete
    If bDeleted = True Then
        MsgBox "已经删除"
    Else
        MsgBox "未删除"
    End If
End Sub
若不想显示警告信息,而是直接将其删除,则可以将上述代码改为:

Sub 删除指定工作表()
    Application.DisplayAlerts = False
    Worksheets(3).Delete
    Application.DisplayAlerts = True
End Sub
但要注意:当DisplayAlerts属性值设置为False时,Excel的默认应答并不一定选择对话框的缺少选项,也就是说默认应答项并不一定是你想要的结果,所以在禁止显示特定的警告和消息之前应当先进行验证,以免得到不想要的结果。

养成个好习惯,虽然VBA自动在运行结束后,自动将DisplayAlerts属性值改为True,但为安全起见,还是要加入代码将其值人为恢复。

Application对象的DisplayAlerts属性实际上并不是只在删除时才起作用,别的地方也大有用途。

43 Things: Excel VBA
BuzzNet: Excel VBA
del.icio.us: Excel VBA
Flickr: Excel VBA
IceRocket: Excel VBA
LiveJournal: Excel VBA
Technorati: Excel VBA
菊子曰 今天你菊子曰了么?
posted @ 2011-04-11 20:51  surfacetension  阅读(1111)  评论(0编辑  收藏  举报