Cách tách 1 sheet trong excel

Mặc định đã không có phương pháp nào để chúng ta bóc tách riêng biệt các sheets trong Excel thành những tệp tin hiếm hoi. Tuy nhiên tiếp sau đây diemayxanh.com sẽ Hướng dẫn cách tách bóc từng sheets vào file Excel thành những tập tin riêng biệt trải qua mã VBA khôn cùng dễ dàng và đơn giản. 

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

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

*

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

"Code Created by diemayxanh.comSub 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 & ".xlsx" Application.ActiveWorkbook.Cthua kém FalseNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Có một vài điều bạn phải bảo đảm trước lúc áp dụng mã VBA ngơi nghỉ trên:

- Tạo một thỏng mục địa điểm mà bạn muốn xuất toàn bộ những sheets sau thời điểm bóc ra.

Bạn đang xem: Cách tách 1 sheet trong excel

- Lưu tập tin Excel thiết yếu (bao gồm toàn bộ những sheets nhưng bạn có nhu cầu bóc tách riêng biệt các sheets) vào tlỗi mục này.

Lúc bạn đang xong vấn đề này, tiếp nối bạn cũng có thể cyếu mã VBA ngơi nghỉ bên trên vào tập tin cùng chạy mã.

Đoạn mã trên được viết theo cách nhưng nó đang chọn địa chỉ của thỏng mục bằng cách áp dụng đường truyền của tập tin (trong những số ấy mã được chạy). Đây là nguyên do tại vì sao điều đặc trưng là phải giữ tập tin vào tlỗi mục trước cùng kế tiếp áp dụng mã này.

Mã VBA hoạt động như vậy nào?

Đoạn mã bên trên thực hiện một vòng lặp For Next đơn giản và dễ dàng trải qua từng sheets, tạo thành một bạn dạng sao của sheets vào file Excel, rồi lưu file Excel này vào thỏng mục được chỉ định và hướng dẫn.

Dưới đây là các bước để ckém mã VBA này vào tệp tin Excel (các bước này sẽ tương tự nhau với tất cả những cách thức không giống được sử dụng trong bài xích này):

Ckém mã này sống đâu?

Dưới đấy là quá trình nhằm chèn mã trong Visual Basic Editor:

Cách 1: Trong file Excel yêu cầu cyếu mã, truy vấn vào tab Developer.

*

Bước 2: Trong đội Code, bấm nút Visual Basic ở góc trên thuộc phía bên trái. Thao tác này sẽ msinh hoạt trình biên soạn thảo VB (bạn có thể áp dụng tổng hợp phím tắt - ALT + F11).

*

Cách 3: Trong hành lang cửa số VB Editor hiển thị, kích loài chuột nên vào ngẫu nhiên đối tượng người dùng làm sao của sổ làm việc cơ mà nhiều người đang thao tác làm việc.

*

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

Bước 5: Chọn tùy lựa chọn Module. Thao tác này đang cyếu một module mới

*

Cách 6: Bấm đúp vào đối tượng người sử dụng module new sẽ mở cửa sổ mã đến module này.

Bước 7: Sao chxay mã VBA được cung ứng làm việc trên với dán lại hành lang cửa số mã module này.

*

Bước 8: Chọn ngẫu nhiên dòng như thế nào trong mã với bấm vào nút ít Play blue color lá cây trên thanh dụng cụ để chạy mã macro VBA.

Xem thêm: Cách Nhập Ngày Tháng Trong Excel, Thêm Thông Tin Ngày Tháng Hiện Tại

*

Các bước trên vẫn ngay nhanh chóng phân chia những sheets thành những tập tin Excel hiếm hoi cùng lưu bọn chúng. Chỉ mất một giây nếu như khách hàng tất cả không nhiều sheets, tuy thế vẫn mất một ít thời hạn trường hợp tệp tin Excel của công ty có không ít sheets riêng biệt.

Tên của từng tập tin Excel được lưu giữ sẽ như thể với thương hiệu sheets mà nó gồm trong tập tin thiết yếu.

*

Vì đã đặt mã VBA vào tệp tin Excel đề xuất bạn cần lưu giữ mã này cùng với format .XLSM (là định hình cung cấp macro). Điều này sẽ đảm bảo macro được giữ với chuyển động khi chúng ta msống tập tin này về sau.

Lưu ý: quý khách hoàn toàn có thể áp dụng các mẫu mã Application.ScreenUpdating = False cùng Application.DisplayAlerts = False nếu muốn hồ hết máy xẩy ra trong nền nhưng mà không tồn tại thông báo tốt bất kỳ điều gì đã xảy ra trên screen của tệp tin Excel đang rất được xử lý.

Cách cực tốt, bạn nên sinh sản một bản sao giữ của file Excel cội (bao gồm những sheets mà bạn muốn tách). Như vậy đã đảm bảo an toàn các bạn không bị mất tài liệu trong ngôi trường vừa lòng tất cả bất kỳ sự thế như thế nào xảy ra. 

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

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

"Code Created by diemayxanh.comSub SplitEachWorksheet()Dlặng 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à "" và ws.Name và ".xlsx" Application.ActiveWorkbook.Cthua FalseNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Những điều bạn phải bảo vệ trước lúc áp dụng mã này:

- Tạo một thư mục nơi nhưng bạn có nhu cầu xuất toàn bộ những sheets sau thời điểm tách bóc ra.

- Lưu tập tin Excel chủ yếu (gồm tất cả các sheets mà lại bạn muốn bóc riêng rẽ các sheets) trong thư mục này.

- Đoạn mã bên trên sẽ phân tách từng sheets trong tệp tin Excel nơi bắt đầu với giữ dưới dạng PDF trong thuộc tlỗi mục vị trí các bạn đang tệp tin Excel ban sơ.

Chỉ tách các sheets bao gồm chứa từ/các tự thành những file Excel riêng 

Trong ngôi trường thích hợp bạn có rất nhiều sheets trong một file Excel và chỉ mong bóc tách hầu hết sheets có văn uống bản ví dụ trong những số ấy, bạn có thể thực hiện điều này.

Ví dụ: Bạn bao gồm một tệp tin Excel trong các số ấy tất cả dữ liệu trong tương đối nhiều năm với mỗi sheets trong tệp tin có số thời gian có tác dụng tiền tố. 

Bây giờ, đưa sử bạn muốn bóc tất cả những sheets của năm 20đôi mươi và lưu giữ thành những tập tin Excel đơn nhất. Để tiến hành vấn đề này, bạn cần phải bình chọn bằng phương pháp nào kia thương hiệu của mỗi sheets và chỉ gần như sheets bao gồm số 20trăng tròn mới được bóc tách với giữ, những sheets còn lại đang giữ nguyên.

Như vậy hoàn toàn có thể được tiến hành bằng cách thực hiện mã macro VBA sau :

"Code Created by diemayxanh.comSub SplitEachWorksheet()Dyên FPath As StringDlặng 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 & ".xlsx" Application.ActiveWorkbook.Cthua False End IfNextApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueEnd Sub

Trong đoạn mã bên trên, bọn họ sẽ thực hiện một thay đổi TexttoFind được gán cho “2020” tức thì từ trên đầu. Mã VBA tiếp đến sử dụng vòng lặp For Next vào VBA nhằm đi qua từng sheets và sau đó kiểm soát thương hiệu của mỗi sheets thông qua hàm INSTR. Hàm này đang bình chọn coi thương hiệu những sheets bao gồm từ bỏ 20trăng tròn hay là không. 

Nếu tất cả, nó đang trả về số địa điểm nơi search thấy vnạp năng lượng bạn dạng này (vào trường thích hợp này là năm 2020). Nếu không kiếm thấy văn bạn dạng chúng ta đã search tìm, nó đã trả về 0.

Như vậy được thực hiện với điều kiện IF Then. Do đó giả dụ thương hiệu sheets có chuỗi văn uống bạn dạng 20trăng tròn, nó sẽ tiến hành tách bóc cùng lưu thành một tập tin cá biệt. Nếu không có chuỗi văn bạn dạng này, điều kiện IF sẽ không được đáp ứng cùng không có gì xẩy ra.

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