如何快速將工作表批量轉(zhuǎn)換成工作簿?

excel.jpg

接上一篇文章 『 一個工作簿中到底可以建多少個Sheet?』,我們用數(shù)據(jù)透視表中的報表篩選器可以快速批量新建工作表,這次介紹把工作表快速轉(zhuǎn)換成工作簿的方法。
工作簿本質(zhì)是一個文件,如果要把工作表變成工作簿其實就是要生成出新的Excel文件出來,Office中并沒有生成文件的函數(shù)公式,也沒有可以實現(xiàn)該需求的配套功能。但是,這都不是問題,因為Office支持"宏",【也叫VBA】,它可以幫助我們完成用函數(shù)公式實現(xiàn)不了的任務,因為它能很好的支持辦公自動化,讓用戶能自行對功能進行的靈活、便捷的擴展以及個性化定制,這也是Office能被全世界用戶這么認可的原因之一。

一、操作步驟
1.打開需要轉(zhuǎn)換的工作簿。

2.右鍵點擊其中一個sheet查看代碼 或 按快捷鍵ALT+F11進入VBE界面。

3.找到左邊的工程窗口,然后鼠標右鍵,新建一個模塊。

4.把工作簿拆分工作表代碼貼入到模塊中。

5.按F5或點擊工具欄里面的類似播放按鈕,運行代碼。

6.完成拆分。

二、演示效果


640.gif

三、VBA代碼
Sub WorkbookToSheet()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
For i = 1 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(i).Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "/" & ThisWorkbook.Sheets(i).Name, xlWorkbookDefault
ActiveWorkbook.Close True
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "處理完成。", , "提醒"
End Sub

四、代碼解釋與說明
Sub WorkbookToSheet()
'關(guān)閉系統(tǒng)警告和消息提示,相同工作簿存在時會直接覆蓋保存。
Application.DisplayAlerts = False
'關(guān)閉屏幕刷新,防止出現(xiàn)閃動
Application.ScreenUpdating = False
'遍歷當前工作簿中的 第一個sheet 到 最后一個sheet 【ThisWorkbook.Sheets.Count=當前工作簿中的工作表的個數(shù)】
For i = 1 To ThisWorkbook.Sheets.Count
'復制當前工作簿中的第i個工作表
ThisWorkbook.Sheets(i).Copy
'工作表復制后,會成為活動工作薄,把活動的工作簿另存到當前工作簿的相同路徑下,新的工作簿名字用被復制的工作表的名字,并采用默認Excel文件格式
ActiveWorkbook.SaveAs ThisWorkbook.Path & "/" & ThisWorkbook.Sheets(i).Name, xlWorkbookDefault
'關(guān)閉工作薄并保存
ActiveWorkbook.Close True
Next
'前面強制關(guān)閉了屏幕刷新,程序結(jié)束前要恢復,否則會影響到平時的正常使用。
Application.ScreenUpdating = True
'前面強制關(guān)閉了警告和消息提示,程序結(jié)束前要恢復,否則會影響到平時的正常使用。
Application.DisplayAlerts = True
'提示已經(jīng)處理完成。
MsgBox "處理完成。", , "提醒"
End Sub

                   關(guān)注公眾號,回復"拆分",免費獲取拆分工具
qrcode_for_gh_fae2b8b8c191_258.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容