Cách tách 1 sheet trong Excel thành 1 file

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.

+ 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.

Video liên quan

Chủ Đề