明凯博客

关注网站技术,一个特立独行的程序员

VBA关闭工作簿和退出Excel及常用VBA操作

要用VBA来关闭工作簿,用Workbook.Close 方法即可,而要退出Excel,则用Application.Quit 方法。
下面是一些代码示例: 关闭活动工作簿,如果工作簿有更改,提示是否保存:

1
2
3
    Sub CloseWorkbook()
    ActiveWorkbook.Close
    End Sub

如果要避免出现提示,可添加“SaveChanges”参数,如直接保存并关闭工作簿:

1
2
3
    Sub ClostAndSaveWorkbook()
    ActiveWorkbook.Close Savechanges:=True
    End Sub

将上述代码中的“True”改为“False”,则直接关闭工作簿而不保存。
关闭所有打开的工作簿,并提示是否保存:

1
2
3
4
    Sub CloseAllWorkbooks()
    On Error Resume Next
    Workbooks.Close
    End Sub

退出Excel,并提示对有更改的工作簿进行保存:

1
2
3
    Sub QuitExcel()
    Application.Quit
    End Sub

保存活动工作簿并退出Excel:

1
2
3
4
    Sub SaveActiveWorkAndQuit()
    ActiveWorkbook.Save
    Application.Quit
    End Sub

下面的代码在退出Excel时都不会提示是否保存工作簿。
保存所有打开的工作簿并退出Excel:

1
2
3
4
5
6
    Sub SaveAllAndQuit()
    For Each wbk In Workbooks
    wbk.Save
    Next
    Application.Quit
    End Sub

退出Excel,所有的改动都不保存:

1
2
3
4
    Sub QutiAndNoAlerts()
    Application.DisplayAlerts = False
    Application.Quit
    End Sub

下面列举了一些VBA的常用操作:

打开一个新工作簿

1
Workbooks.Add

获得第一个工作簿的名称

1
Workbooks(1).Name

获得打开的工作簿数目

1
Workbooks.Count

激活第二个打开的工作簿

1
Workbooks(2).Activate

激活工作簿Chap02.xls

1
Workbooks("Chap02.xls").Activate

当前活动的工作簿存盘为NewChap.xls

1
ActiveWorkbook.SaveAs Filename:="NewChap.xls"

关闭第一个工作簿

1
Workbooks(1).Close

关闭当前活动的工作簿,不保存变化

1
ActiveWorkbook.Close SaveChanges:=False

关闭所有打开的工作簿

1
Workbooks.Close

如果你运行了最后一个例子,那么现在你所有的工作簿都已经关闭了。
在你要在工作表上使用前,请确保先打开一个新工作簿。
当你除了单个工作表时,你必须知道如何在工作簿里添加新的工作表,知道如何选择一个或一组工作表,知道如何命名、复制、移动和删除工作表。
在VB里,每个任务都需要一个专门的方法或属性。

添加一个新工作表

1
Worksheets.Add

获得第一个工作表的名称

1
Worksheets(1).Name

选择名为“Sheet3”的工作表

1
Worksheets(3).Select

选择第一,第三和第四个工作表

1
Worksheets(Array(1,3,4)).Select

激活名为“Sheet1”的工作表

1
Worksheets(“Sheet1”).Activate

将工作表“Sheet2”移动到工作表“Sheet1”之前

1
Worksheets("Sheet2").Move Before:=Worksheets("Sheet1")

重命名工作表“Sheet2”为“Expenses”

1
Worksheets("Sheet2").Name = "Expenses"

获得当前工作簿里的工作表数目

1
Worksheets.Count

删除当前工作簿里的工作表“Expenses”

1
Worksheets("Expenses").Delete

, , ,

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注