要用VBA來關閉工作簿,用Workbook.Close 方法即可,而要退出Excel,則用Application.Quit 方法。
以下是一些程式碼範例: 關閉活動工作簿,如果工作簿有更改,提示是否儲存:
複製代碼代碼如下:
Sub CloseWorkbook()
ActiveWorkbook.Close
End Sub
如果要避免出現提示,可新增「SaveChanges」參數,例如直接儲存並關閉工作簿:
複製代碼代碼如下:
Sub ClostAndSaveWorkbook()
ActiveWorkbook.Close Savechanges:=True
End Sub
將上述程式碼中的“True”改為“False”,則直接關閉工作簿而不儲存。
關閉所有開啟的工作簿,並提示是否已儲存:
複製代碼代碼如下:
Sub CloseAllWorkbooks()
On Error Resume Next
Workbooks.Close
End Sub
退出Excel,並提示對有更改的工作簿進行儲存:
複製代碼代碼如下:
Sub QuitExcel()
Application.Quit
End Sub
儲存活動工作簿並登出Excel:
複製代碼代碼如下:
Sub SaveActiveWorkAndQuit()
ActiveWorkbook.Save
Application.Quit
End Sub
下面的程式碼退出Excel時都不會提示是否要儲存工作簿。
儲存所有開啟的工作簿並退出Excel:
複製代碼代碼如下:
Sub SaveAllAndQuit()
For Each wbk In Workbooks
wbk.Save
Next
Application.Quit
End Sub
退出Excel,所有的改動都不保存:
複製代碼代碼如下:
Sub QutiAndNoAlerts()
Application.DisplayAlerts = False
Application.Quit
End Sub
下面列舉了一些VBA的常用操作:
開啟一個新工作簿
複製代碼代碼如下:
Workbooks.Add
取得第一個工作簿的名稱
複製代碼代碼如下:
Workbooks(1).Name
取得開啟的工作簿數目
複製代碼代碼如下:
Workbooks.Count
啟動第二個開啟的工作簿
複製代碼代碼如下:
Workbooks(2).Activate
啟動工作簿Chap02.xls
複製代碼代碼如下:
Workbooks("Chap02.xls").Activate
目前活動的工作簿存檔為NewChap.xls
複製代碼代碼如下:
ActiveWorkbook.SaveAs Filename:="NewChap.xls"
關閉第一個工作簿
複製代碼代碼如下:
Workbooks(1).Close
關閉目前活動的工作簿,不儲存變化
複製代碼代碼如下:
ActiveWorkbook.Close SaveChanges:=False
關閉所有開啟的工作簿
複製代碼代碼如下:
Workbooks.Close
如果你運行了最後一個例子,那麼現在你所有的工作簿都已經關閉了。
在你要在工作表上使用之前,請確保先開啟一個新工作簿。
當你除了單一工作表時,你必須知道如何在工作簿中新增的工作表,知道如何選擇一個或一組工作表,知道如何命名、複製、移動和刪除工作表。
在VB裡,每個任務都需要一個專門的方法或屬性。
新增一個新工作表
複製代碼代碼如下:
Worksheets.Add
獲得第一個工作表的名稱
複製代碼代碼如下:
Worksheets(1).Name
選擇名為「Sheet3」的工作表
複製代碼代碼如下:
Worksheets(3).Select
選擇第一,第三和第四個工作表
複製程式碼程式碼如下:Worksheets(Array(1,3,4)).Select
啟動名為「Sheet1」的工作表
複製代碼代碼如下:
Worksheets(“Sheet1”).Activate
將工作表「Sheet2」移至工作表「Sheet1」之前
複製代碼代碼如下:
Worksheets("Sheet2").Move Before:=Worksheets("Sheet1")
重新命名工作表“Sheet2”為“Expenses”
複製代碼代碼如下:
Worksheets("Sheet2").Name = "Expenses"
取得目前工作簿裡的工作表數目
複製代碼代碼如下:
Worksheets.Count
刪除目前工作簿裡的工作表“Expenses”
複製代碼代碼如下:
Worksheets("Expenses").Delete