Sub 拆分工作表()
Dim b As Worksheet
Excel.Application.ScreenUpdating = False
For Each b In Sheets
b.Copy
Excel.ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & b.Name & ".xlsx"
Excel.ActiveWorkbook.Close
Next
Excel.Application.ScreenUpdating = True
End Sub
Sub 合并工作簿()
Dim Wb As Workbook, MyPath As String, File, Sh_n As String
Application.ScreenUpdating = False
Rem 關閉屏幕刷新
MyPath$ = ThisWorkbook.Path & "\"
Rem 獲取當前工作簿路徑
File = Dir(MyPath & "*.xls*")
Rem 獲取路徑下所有Excel文件
Do While File <> "" '遍歷所有文件
If File <> ThisWorkbook.Name Then '不合并當前工作簿
Set Wb = Workbooks.Open(MyPath & File)
Rem 依次打開工作簿
Sh_n = StrReverse(Mid(StrReverse(Wb.Name), InStr(StrReverse(Wb.Name), ".") + 1))
Sheets(1).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = Sh_n
Rem 將第一個表復制到當前工作簿的最后一個工作表
Wb.Close False '關閉工作簿 不保存
End If
File = Dir
Rem 循環(huán)下一個工作簿
Loop
Application.ScreenUpdating = False
Rem 打開屏幕刷
End Sub
模板在手,以后不管要拆分、合并,都是輕輕松松一鍵搞定,再也不用為這些事發(fā)愁。
推薦:別再復制粘貼了,幾十個工作表合并最簡單的辦法,一學就會!
你怕不怕長期跟盧子學習,以后一天的工作幾分鐘做完?
作者:盧子,清華暢銷書作者,《Excel效率手冊 早做完,不加班》系列叢書創(chuàng)始人,個人公眾號:Excel不加班(ID:Excelbujiaban)