Cách Tách Sheet Thành File Trong Excel

     

Mặc định sẽ không có cách nào nhằm bạn bóc tách riêng các sheets trong Excel thành những file riêng biệt biệt. Tuy nhiên sau đây gift4u.vn sẽ lý giải cách bóc tách từng sheets trong file Excel thành các tập tin riêng thông qua mã VBA vô cùng solo giản. 


*
EXG02 - thủ thuật Excel update hàng tuần cho dân văn phòng
*
EXG01 - tuyệt đỉnh Excel - vươn lên là bậc thầy Excel vào 16 giờ
*
EXG08 - Excel cho Tài chính, Kế toán với Phân tích tài chính
*
EXG07: Trực quan liêu Báo cáo, tài liệu với Biểu đồ, Đồ thị bằng Excel (Excel Data Visualization)
*
EXG05 - kỹ năng sử dụng bí quyết và hàm A-Z vào Excel

EXG07: Trực quan tiền Báo cáo, tài liệu với Biểu đồ, Đồ thị bằng Excel (Excel Data Visualization)

G-LEARNING - 1146 học viên


Tách từng sheets thành những tập tin Excel riêng biệt

Ví dụ bạn có một tệp tin Excel như được hiển thị bên dưới, giờ muốn bóc tách mỗi một sheets thành một file Excel riêng biệt cho mỗi tháng. 

*

Để thực hiện, chúng ta có thể sử dụng đoạn mã VBA bên dưới:

"Code Created by gift4u.vnSub SplitEachWorksheet()Dim FPath As StringFPath = Application.ActiveWorkbook.PathApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseFor Each ws In ThisWorkbook.Sheets ws.Copy Application.ActiveWorkbook.SaveAs Filename:=FPath & "" & ws.Name và ".xlsx" Application.ActiveWorkbook.Close FalseNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Có một vài điều các bạn cần bảo đảm trước khi thực hiện mã VBA sinh hoạt trên:

- chế tạo ra một thư mục vị trí mà bạn có nhu cầu xuất toàn bộ các sheets sau khi tách bóc ra.

Bạn đang xem: Cách tách sheet thành file trong excel

- giữ tập tin Excel thiết yếu (có tất cả các sheets mà bạn có nhu cầu tách riêng các sheets) trong thư mục này.

Khi các bạn đã hoàn thành việc này, sau đó bạn có thể chèn mã VBA ở trên vào tập tin cùng chạy mã.

Đoạn mã bên trên được viết theo cách mà nó sẽ chọn vị trí của thư mục bằng cách sử dụng đường truyền của tập tin (trong đó mã được chạy). Đây là tại sao tại sao điều quan trọng đặc biệt là buộc phải lưu tập tin trong thư mục trước và kế tiếp sử dụng mã này.

Mã VBA vận động như rứa nào?

Đoạn mã trên sử dụng một vòng lặp For Next đơn giản và dễ dàng đi qua từng sheets, sản xuất một bạn dạng sao của sheets trong file Excel, rồi lưu tệp tin Excel này trong folder được chỉ định.

Dưới phía trên là công việc để chèn mã VBA này trong file Excel (các bước này sẽ tương tự nhau đối với tất cả các phương thức khác được thực hiện trong bài bác này):

Chèn mã này làm việc đâu?

Dưới đây là công việc để chèn mã vào Visual Basic Editor:

Bước 1: Trong file Excel bắt buộc chèn mã, truy cập vào tab Developer.

*

Bước 2: Trong đội Code, bấm nút Visual Basic ở góc trên cùng mặt trái. Thao tác làm việc này đang mở trình soạn thảo VB (bạn cũng có thể sử dụng tổng hợp phím tắt - alternative text + F11).

*

Bước 3: Trong cửa sổ VB Editor hiển thị, kích chuột cần vào ngẫu nhiên đối tượng nào của sổ làm việc mà nhiều người đang làm việc.

*

Bước 4: Di nhỏ trỏ qua tùy chọn Insert.

Bước 5: lựa chọn tùy chọn Module. Làm việc này đang chèn một module mới

*

Bước 6: Bấm đúp vào đối tượng người tiêu dùng module mới sẽ mở cửa sổ mã đến module này.

Bước 7: Sao chép mã VBA được cung ứng ở trên cùng dán vào cửa sổ mã module này.

*

Bước 8: Chọn bất kỳ dòng như thế nào trong mã và nhấn vào nút Play màu xanh lá cây lá cây trên thanh mức sử dụng để chạy mã macro VBA.

Xem thêm: 50+ Mẫu Bánh Sinh Nhật Hình Iron Man, Bánh Sinh Nhật Iron Man

*

Các bước trên vẫn ngay chớp nhoáng chia những sheets thành những tập tin Excel lẻ tẻ và lưu lại chúng. Chỉ mất một giây nếu như bạn có ít sheets, tuy thế sẽ mất một chút thời gian nếu tệp tin Excel của bạn có nhiều sheets riêng rẽ lẻ.

Tên của mỗi tập tin Excel được lưu đã giống với tên sheets mà lại nó tất cả trong tập tin chính.

*

Vì vẫn đặt mã VBA trong tệp tin Excel nên bạn cần lưu mã này với format .XLSM (là định dạng cung cấp macro). Điều này sẽ đảm bảo an toàn macro được lưu và chuyển động khi chúng ta mở tập tin này sau này.

Lưu ý: bạn cũng có thể sử dụng các dòng mã Application.ScreenUpdating = False với Application.DisplayAlerts = False nếu mong mỏi mọi thứ xảy ra trong nền mà không tồn tại thông báo hay ngẫu nhiên điều gì đang xẩy ra trên màn hình của file Excel đang được xử lý.

Cách xuất sắc nhất, chúng ta nên tạo một bản sao lưu của tệp tin Excel nơi bắt đầu (có những sheets mà bạn có nhu cầu tách). Điều này sẽ bảo đảm an toàn bạn vẫn tồn tại dữ liệu vào trường hòa hợp có ngẫu nhiên sự cụ nào xảy ra. 

Tách từng sheets cùng lưu dưới dạng PDF riêng biệt biệt

Trong ngôi trường hợp bạn có nhu cầu tách các sheets trong một tệp tin Excel và lưu dưới format tập tin PDF thay do tệp Excel, bạn cũng có thể sử dụng mã bên dưới đây:

"Code Created by gift4u.vnSub SplitEachWorksheet()Dim FPath As StringFPath = Application.ActiveWorkbook.PathApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseFor Each ws In ThisWorkbook.Sheets ws.Copy Application.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FPath và "" & ws.Name và ".xlsx" Application.ActiveWorkbook.Close FalseNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Những điều các bạn cần đảm bảo an toàn trước khi áp dụng mã này:

- tạo một thư mục khu vực mà bạn muốn xuất toàn bộ các sheets sau khi bóc ra.

- lưu lại tập tin Excel chủ yếu (có toàn bộ các sheets mà bạn muốn tách riêng các sheets) trong folder này.

- Đoạn mã bên trên sẽ phân chia từng sheets trong tệp tin Excel gốc và lưu bên dưới dạng PDF trong thuộc thư mục nơi chúng ta đã tệp tin Excel ban đầu.

Chỉ bóc tách những sheets có chứa từ/cụm từ bỏ thành các file Excel riêng 

Trong trường đúng theo bạn có không ít sheets trong một tệp tin Excel còn chỉ muốn bóc những sheets gồm văn bạn dạng cụ thể vào đó, chúng ta cũng có thể thực hiện nay điều đó.

Ví dụ: chúng ta có một file Excel trong đó có dữ liệu trong nhiều năm cùng mỗi sheets vào file gồm số năm làm tiền tố. 

Bây giờ, trả sử bạn có nhu cầu tách tất cả các sheets của năm 2020 cùng lưu thành các tập tin Excel riêng biệt biệt. Để tiến hành việc này, bạn cần phải kiểm tra bằng cách nào kia tên của mỗi sheets cùng chỉ phần đa sheets bao gồm số 2020 mới được bóc và lưu, những sheets còn lại sẽ lưu lại nguyên.

Điều này có thể được thực hiện bằng phương pháp sử dụng mã macro VBA sau :

"Code Created by gift4u.vnSub SplitEachWorksheet()Dim FPath As StringDim TexttoFind As StringTexttoFind = "2020"FPath = Application.ActiveWorkbook.PathApplication.ScreenUpdating = FalseApplication.DisplayAlerts = FalseFor Each ws In ThisWorkbook.Sheets If InStr(1, ws.Name, TexttoFind, vbBinaryCompare) 0 Then ws.Copy Application.ActiveWorkbook.SaveAs Filename:=FPath và "" & ws.Name và ".xlsx" Application.ActiveWorkbook.Close False over IfNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Trong đoạn mã trên, chúng ta đã áp dụng một vươn lên là TexttoFind được gán đến “2020” ngay từ đầu. Mã VBA kế tiếp sử dụng vòng lặp For Next vào VBA để trải qua từng sheets và kế tiếp kiểm tra thương hiệu của từng sheets trải qua hàm INSTR. Hàm này sẽ chất vấn xem tên những sheets có từ 2020 tuyệt không. 

Nếu có, nó đã trả về số vị trí khu vực tìm thấy văn bản này (trong trường phù hợp này là năm 2020). Nếu không tìm thấy văn bạn dạng chúng ta vẫn tìm kiếm, nó đã trả về 0.

Xem thêm: Thi Toán Địa Văn Là Khối Gì ? Xét Tuyển Được Những Ngành Nào?

Điều này được áp dụng với đk IF Then. Cho nên vì vậy nếu tên sheets gồm chuỗi văn phiên bản 2020, nó vẫn được bóc tách và lưu lại thành một tập tin riêng biệt. Nếu không có chuỗi văn phiên bản này, đk IF sẽ không được đáp ứng nhu cầu và không tồn tại gì xảy ra.

CÓ THỂ BẠN CŨNG quan lại TÂMHướng dẫn cách sử dụng Hàm IF vào Excel đơn giản và dễ dàng dễ hiểuHướng dẫn cách thao tác trình bày định dạng bảng tài liệu trong Excel chuẩn nhấtHướng dẫn giải pháp tạo bảng dữ liệu tiêu chuẩn trên Excel