Cách tách 1 sheet ra 1 file riêng

Làm việc với nhiều Sheet trên một file Excel giúp chúng ta tăng cường sự tương tác và liên kết giữa các bảng tính cần tính toán. Tuy nhiên, nó cũng gây trở ngại không nhỏ nếu file Excel của bạn quá lớn, và có quá nhiều Sheet.

Và nếu bạn đang có nhu cầu tách các Sheet này ra thành từng file Excel riêng biệt để tăng tốc độ mở file, giảm bớt dung lượng của file khi phải kéo theo các Add ins, hay VBA đã lưu thì đây chính là bài viết dành cho bạn.

Bởi vì trong bài viết này mình sẽ chia sẻ với các bạn một mẹo nhỏ trong việc tách hàng loạt Sheet trên một file Excel, và lưu lại dưới định dạng tên Sheet bằng code Macro VBA Excel.

Sau khi tách xong sẽ lấy tên của các Sheet thành tên file, và các công thức có trong Sheet sẽ vẫn được giữ nguyên mà không bị thay đổi.

Đọc thêm:

  • Cách sửa lỗi công cụ VBA bị ẩn trên Excel và Word
  • Thủ thuật lưu file Excel có chứa code Macros VBA Excel
  • Hàm đổi chữ thường thành chữ in hoa trong Excel, và ngược lại

Dưới đây là ví dụ của file Excel, với file Bảng điểm gồm 6 Sheet khác nhau.

Cách tách 1 sheet ra 1 file riêng

Cách tách hàng loạt Sheet thành các file Excel bằng code VBA

+ Bước 1: Để tách hàng loạt Sheet mà vẫn giữ nguyên các công thức, cùng các hàm Add ins, hay mã VBA (nếu có). Bạn click mở tab Developer (xem cách hiện tab Developer trên Excel) => và chọn Visual Basic như hình bên dưới.

Hoặc nhấn tổ hợp phím Alt + F11 để mở trình VBA trên Excel ra.

Cách tách 1 sheet ra 1 file riêng

+ Bước 2: Tại hộp thoại Microsoft Visua Basic for Applications, bạn click mở menu Insert => rồi chọn Module.

Cách tách 1 sheet ra 1 file riêng

+ Bước 3: Và bạn hãy copy đoạn mã Code sau:

Sub tachsheet()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim sh As Worksheet
For Each sh In Worksheets
sh.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & “\” & sh.Name, 51
ActiveWorkbook.Close
Next
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Hoặc code sau:

Sub Splitbook()
‘Updateby20140612
Dim xPath As String
xPath = Application.ActiveWorkbook.Path
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
xWs.Copy
Application.ActiveWorkbook.SaveAs Filename:=xPath & “\” & xWs.Name & “.xls”
Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

+ Bước 4: Paste vào hộp thoại Module (Code) => sau đó nhấn Run, hoặc nhấn phím F5 trên bàn phím để thực hiện tách các Sheet thành các file Excel riêng biệt.

Cách tách 1 sheet ra 1 file riêng

Và đây là kết quả của thư mục sau khi tách Sheet thành các file Excel định dạng *.xlsx.

Cách tách 1 sheet ra 1 file riêng

Lời kết

Okay, như vậy là mình vừa hướng dẫn cho các bạn cách tách Sheet thành từng file Excel riêng biệt bằng code VBA rồi nhé.

Rất nhanh chóng và đơn giản phải không các bạn 😀 Chúc các bạn thành công nha !

CTV: Lương Trung – Blogchiasekienthuc.com

Bài viết đạt: 4.5/5 sao - (Có 2 lượt đánh giá)

Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !