Cách 1 sheet thành file trong excel

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 1 sheet thành file trong excel

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 1 sheet thành file trong excel

+ 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 1 sheet thành file trong excel

+ 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 1 sheet thành file trong excel

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 1 sheet thành file trong excel

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é !

Cách 1 sheet thành file trong excel

Trên một file Excel bạn có thể tạo nhiều sheet để đễ theo dõi và chuyển đổi giữa các nội dung liên quan tới nhau. Nhưng nhiều sheet cũng làm tăng dung lượng và khiến mở file lâu hơn, nhất là khi bạn sử dụng thêm các add ins hay các code macro VBA. Giải pháp lúc này là bạn nên tách các sheet thành từng file Excel riêng biệt. Nhờ vậy nội dung trong sheet vẫn được giữ nguyên, tên sheet trở thành tên của từng file và công thức sử dụng trong sheet không bị thay đổi hay lỗi kết quả. Bài viết dưới đây sẽ hướng dẫn bạn đọc cách tách từng sheet trong Excel thành các file riêng biệt nhé.

Cách 1 sheet thành file trong excel

Ví dụ ta có file Excel chứa các sheet như hình dưới. Yêu cầu cần tách các sheet đó thành từng file Excel riêng biệt. Các bạn hãy làm theo các bước dưới đây để tách sheet nhé.

Cách 1 sheet thành file trong excel

Bước 1: Để tách sheet thành từng file Excel riêng biệt, đầu tiên thì các bạn cần chọn thẻ Developer trên thanh công cụ. Sau đó các bạn chọn Visual Basic tại mục Code. Hoặc các bạn có thể sử dụng tổ hợp phím tắt Alt + F11 để mở nhanh cửa sổ VBA.

Cách 1 sheet thành file trong excel

Bước 2: Lúc này, cửa sổ Microsoft Visual Basic for Applications hiện ra. Các bạn chọn thẻ Insert trên thanh công cụ. Thanh cuộn hiện ra thì các bạn chọn mục Module.

Cách 1 sheet thành file trong excel

Bước 3: Lúc này, hộp thoại Module hiện ra. Các bạn sao chép mã code dưới đây vào hộp thoại đó.

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

Sau đó các bạn nhấn vào biểu tượng của Run ở trên thanh công cụ để chạy mã code này.

Cách 1 sheet thành file trong excel

Bước 4: Sau khi chạy mã code, kết quả ta sẽ thu được là mỗi sheet đã được tách riêng ra thành một file Excel riêng biệt mà vẫn giữ nguyên dữ liệu.

Cách 1 sheet thành file trong excel

Khi các bạn mở những file Excel tách riêng từng sheet đó ra thì sẽ có thông báo như hình dưới hiện lên. Các bạn chỉ cần nhấn Yes là có thể chỉnh sửa dữ liệu một cách bình thường.

Cách 1 sheet thành file trong excel

Như vậy, bài viết trên đã hướng dẫn các bạn cách tách sheet thành từng file Excel riêng biệt. Hy vọng bài viết sẽ hữu ích với các bạn trong quá trình làm việc. Chúc các bạn thành công!

Xem thêm

Cách tính số giờ làm việc dựa trên bảng chấm công trong Excel

Cách xoay chữ trong Excel: Rất đơn giản nhưng bạn đã biết chưa?

Cách vẽ đồ thị hàm số trên Excel cực kỳ đơn giản và nhanh chóng

3 Cách chuyển đổi file PDF sang Excel giữ nguyên định dạng

4 Cách tính tổng theo hàng ngang trong Excel, bạn đã biết chưa?