有時(shí)會(huì)遇到這種情況,某個(gè)Excel工作簿中包含許多工作表,需要把其中的某個(gè)工作表發(fā)送給其他用戶,或者將某幾個(gè)工作表發(fā)送給不同的用戶,通常的做法是將這些工作表移動(dòng)或復(fù)制到新工作簿中,保存后再發(fā)送給他們。當(dāng)工作表的數(shù)量較多時(shí),逐一手動(dòng)操作顯得有些繁瑣,這時(shí)用下面的VBA代碼就非常方便了,方法如下:
按Alt+F11,打開VBA編輯器,在代碼窗口中粘貼下列代碼:
Sub SaveSheetAsWorkbook()
Dim theName As String
On Error GoTo Line1
For Each sht In ActiveWindow.SelectedSheets
sht.Copy
theName = ThisWorkbook.Path & ThisWorkbook.Name & "_" & sht.Name & ".xls"
ActiveWorkbook.SaveAs Filename:=theName, FileFormat:=xlNormal
ActiveWindow.Close
Next
Line1:
End Sub
關(guān)閉VBA編輯器,返回Excel界面,選擇需要單獨(dú)保存為工作簿的工作表,如果要選擇多個(gè)工作表,可按Ctrl鍵或Shift鍵進(jìn)行選擇,然后按Alt+F8打開“宏”對(duì)話框,選擇“SaveSheetAsWorkbook”宏執(zhí)行即可。
上述代碼將每個(gè)所選的工作表單獨(dú)保存為一個(gè)工作簿,存放位置與原工作簿相同,名稱為“原工作簿名稱_工作表名稱.xls”。如果是在新建且未保存的工作簿中運(yùn)行代碼,Excel會(huì)將新生成的工作簿保存到默認(rèn)的文件位置,如“我的文檔”。