要用VBA來關(guān)閉工作簿,用Workbook.Close 方法即可,而要退出Excel,則用Application.Quit 方法。 復(fù)制代碼 代碼如下: Sub CloseWorkbook() ActiveWorkbook.Close End Sub 如果要避免出現(xiàn)提示,可添加“SaveChanges”參數(shù),如直接保存并關(guān)閉工作簿: 復(fù)制代碼 代碼如下: Sub ClostAndSaveWorkbook() ActiveWorkbook.Close Savechanges:=True End Sub 將上述代碼中的“True”改為“False”,則直接關(guān)閉工作簿而不保存。 關(guān)閉所有打開的工作簿,并提示是否保存: 復(fù)制代碼 代碼如下: Sub CloseAllWorkbooks() On Error Resume Next Workbooks.Close End Sub 退出Excel,并提示對(duì)有更改的工作簿進(jìn)行保存: 復(fù)制代碼 代碼如下: Sub QuitExcel() Application.Quit End Sub 保存活動(dòng)工作簿并退出Excel: 復(fù)制代碼 代碼如下: Sub SaveActiveWorkAndQuit() ActiveWorkbook.Save Application.Quit End Sub 下面的代碼在退出Excel時(shí)都不會(huì)提示是否保存工作簿。 保存所有打開的工作簿并退出Excel: 復(fù)制代碼 代碼如下: Sub SaveAllAndQuit() For Each wbk In Workbooks wbk.Save Next Application.Quit End Sub 退出Excel,所有的改動(dòng)都不保存: 復(fù)制代碼 代碼如下: Sub QutiAndNoAlerts() Application.DisplayAlerts = False Application.Quit End Sub 下面列舉了一些VBA的常用操作: 打開一個(gè)新工作簿 復(fù)制代碼 代碼如下: Workbooks.Add 獲得第一個(gè)工作簿的名稱 復(fù)制代碼 代碼如下: Workbooks(1).Name 獲得打開的工作簿數(shù)目 復(fù)制代碼 代碼如下: Workbooks.Count 激活第二個(gè)打開的工作簿 復(fù)制代碼 代碼如下: Workbooks(2).Activate 激活工作簿Chap02.xls 復(fù)制代碼 代碼如下: Workbooks("Chap02.xls").Activate 當(dāng)前活動(dòng)的工作簿存盤為NewChap.xls 復(fù)制代碼 代碼如下: ActiveWorkbook.SaveAs Filename:="NewChap.xls" 關(guān)閉第一個(gè)工作簿 復(fù)制代碼 代碼如下: Workbooks(1).Close 關(guān)閉當(dāng)前活動(dòng)的工作簿,不保存變化 復(fù)制代碼 代碼如下: ActiveWorkbook.Close SaveChanges:=False 關(guān)閉所有打開的工作簿 復(fù)制代碼 代碼如下: Workbooks.Close 如果你運(yùn)行了最后一個(gè)例子,那么現(xiàn)在你所有的工作簿都已經(jīng)關(guān)閉了。 在你要在工作表上使用前,請(qǐng)確保先打開一個(gè)新工作簿。 當(dāng)你除了單個(gè)工作表時(shí),你必須知道如何在工作簿里添加新的工作表,知道如何選擇一個(gè)或一組工作表,知道如何命名、復(fù)制、移動(dòng)和刪除工作表。 在VB里,每個(gè)任務(wù)都需要一個(gè)專門的方法或?qū)傩浴?p> 添加一個(gè)新工作表 復(fù)制代碼 代碼如下: Worksheets.Add 獲得第一個(gè)工作表的名稱 復(fù)制代碼 代碼如下: Worksheets(1).Name 選擇名為“Sheet3”的工作表 復(fù)制代碼 代碼如下: Worksheets(3).Select 選擇第一,第三和第四個(gè)工作表 復(fù)制代碼 代碼如下: Worksheets(Array(1,3,4)).Select 激活名為“Sheet1”的工作表 復(fù)制代碼 代碼如下: Worksheets(“Sheet1”).Activate 將工作表“Sheet2”移動(dòng)到工作表“Sheet1”之前 復(fù)制代碼 代碼如下: Worksheets("Sheet2").Move Before:=Worksheets("Sheet1") 重命名工作表“Sheet2”為“Expenses” 復(fù)制代碼 代碼如下: Worksheets("Sheet2").Name = "Expenses" 獲得當(dāng)前工作簿里的工作表數(shù)目 復(fù)制代碼 代碼如下: Worksheets.Count 刪除當(dāng)前工作簿里的工作表“Expenses” 復(fù)制代碼 代碼如下: Worksheets("Expenses").Delete |
|