Note: The other languages of the website are Google-translated. Back to English
Đăng nhập  \/ 
x
or
x
Đăng ký  \/ 
x

or

Làm cách nào để xuất và lưu từng trang tính dưới dạng sổ làm việc mới riêng biệt trong Excel?

Giả sử bạn muốn xuất và lưu một hoặc một số trang tính làm sổ làm việc mới, bạn sẽ xử lý như thế nào? Thông thường, bạn có thể sao chép từng trang tính và dán vào sổ làm việc mới. Nhưng ở đây chúng tôi mang đến cho bạn một số thủ thuật hữu ích để đối phó với nó:

Xuất và lưu trang tính dưới dạng sổ làm việc mới bằng lệnh Di chuyển hoặc Sao chép

Xuất và lưu trang tính dưới dạng sổ làm việc mới với mã VBA

Xuất và lưu trang tính dưới dạng sổ làm việc mới với Kutools cho Excel ý kiến ​​hay3


mũi tên màu xanh bong bóng bên phải Xuất và lưu trang tính dưới dạng sổ làm việc mới bằng lệnh Di chuyển hoặc Sao chép

Sử dụng Di chuyển hoặc sao chép lệnh sẽ giúp bạn xuất hoặc sao chép một hoặc một số trang tính sang một sổ làm việc mới một cách nhanh chóng.

Bước 1: Chọn tên trang tính trong thanh tab. Bạn có thể chọn nhiều bằng cách nhấn giữ Ctrl phím hoặc thay đổi Chìa khóa.

Bước 2: Nhấp chuột phải vào tên trang tính và nhấp vào Di chuyển hoặc sao chép từ menu ngữ cảnh.
doc xuất tờ 1

Bước 3: Trong Di chuyển hoặc sao chép hộp thoại, chọn (sách mới) mục từ danh sách thả xuống của Di chuyển các trang tính đã chọn vào sách.

doc xuất tờ 2

Bước 4: Sau đó nhấp vào OK, bây giờ bạn đã chuyển sang sổ làm việc mới với các trang tính được xuất hoặc sao chép, hãy nhấp vào Tập tin > Lưu để lưu sổ làm việc mới.

Lưu ý: Trong tạp chí Di chuyển hoặc sao chép hộp thoại, có một Tạo một bản sao Lựa chọn. Nếu bạn không kiểm tra nó, nó sẽ di chuyển các trang tính đã chọn ra khỏi sổ làm việc gốc; nếu kiểm tra nó, nó sẽ sao chép các trang tính đã chọn.


Nhanh chóng chia nhiều trang tính thành sổ làm việc riêng biệt trong Excel

Trong Microsoft Excel, bạn có thể lưu hoặc tách trang tính từ một sổ làm việc dưới dạng tệp Excel mới bằng cách sao chép và dán trang tính này vào một sổ làm việc mới. Có vẻ rắc rối, nếu bạn muốn chia từng sheet / worksheet của một sổ làm việc lớn thành các tệp Excel, txt, csv, pdf riêng biệt. Nhưng vơi Kutools cho Excel'S Chia sổ làm việc tiện ích, bạn có thể nhanh chóng đối phó với nó.  Nhấp để dùng thử miễn phí 30 ngày với đầy đủ các tính năng!
doc chia sổ làm việc 1
 
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

mũi tên màu xanh bong bóng bên phải Xuất và lưu trang tính dưới dạng sổ làm việc mới với mã VBA

Đoạn mã sau đây sẽ xuất mọi trang tính hiển thị trong sổ làm việc mới và lưu sổ làm việc với tên của trang tính ban đầu trong một thư mục mới được tạo theo cùng đường dẫn với sổ làm việc đang hoạt động. Vui lòng thực hiện theo các bước sau:

Bước 1: Giữ phím ALT + F11 chìa khóa và nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

Bước 2: Nhấp Chèn > Mô-đunvà dán macro sau vào Cửa sổ mô-đun:

VBA: Xuất và lưu trang tính dưới dạng sổ làm việc mới trong một thư mục mới.

Sub SplitWorkbook()
'Updateby20200806
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim xWs As Worksheet
Dim xWb As Workbook
Dim xNWb As Workbook
Dim FolderName As String
Application.ScreenUpdating = False
Set xWb = Application.ThisWorkbook

DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")
FolderName = xWb.Path & "\" & xWb.Name & " " & DateString

If Val(Application.Version) < 12 Then
    FileExtStr = ".xls": FileFormatNum = -4143
Else
    Select Case xWb.FileFormat
        Case 51:
            FileExtStr = ".xlsx": FileFormatNum = 51
        Case 52:
            If Application.ActiveWorkbook.HasVBProject Then
                FileExtStr = ".xlsm": FileFormatNum = 52
            Else
                FileExtStr = ".xlsx": FileFormatNum = 51
            End If
        Case 56:
            FileExtStr = ".xls": FileFormatNum = 56
        Case Else:
            FileExtStr = ".xlsb": FileFormatNum = 50
        End Select
End If

MkDir FolderName

For Each xWs In xWb.Worksheets
On Error GoTo NErro
    If xWs.Visible = xlSheetVisible Then
    xWs.Select
    xWs.Copy
    xFile = FolderName & "\" & xWs.Name & FileExtStr
    Set xNWb = Application.Workbooks.Item(Application.Workbooks.Count)
    xNWb.SaveAs xFile, FileFormat:=FileFormatNum
    xNWb.Close False, xFile
    End If
NErro:
    xWb.Activate
Next

    MsgBox "You can find the files in " & FolderName
    Application.ScreenUpdating = True
End Sub

Bước 3: Nhấn F5 phím để chạy mã này. Và một hộp nhắc sẽ bật lên để cho bạn biết vị trí của các sổ làm việc được xuất mới và tất cả các trang tính của sổ làm việc gốc đã được xuất sang một số sổ làm việc riêng biệt mới có tên là các trang tính gốc trong một thư mục cụ thể mới. Xem ảnh chụp màn hình:

doc xuất tờ 7

mũi tên màu xanh bong bóng bên phải Xuất và lưu trang tính dưới dạng sổ làm việc mới với Kutools cho Excel

Nếu bạn có nhiều trang tính cần được lưu dưới dạng sổ làm việc riêng biệt, phương pháp đầu tiên không thể là một lựa chọn tốt. Và mã VBA có thể hơi phức tạp đối với người mới bắt đầu sử dụng Excel. Ở đây bạn có thể sử dụng Chia sổ làm việc tiện ích của Kutools cho Excel để nhanh chóng và dễ dàng xuất và lưu từng trang tính của một sổ làm việc để tách sổ làm việc mới.

Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. 

Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:

Bước 1: Nhấp Kutools Plus > Bảng tính > Chia sổ làm việc…. Xem ảnh chụp màn hình:
doc xuất tờ 3

Bước 2: Trong Chia sổ làm việc hộp thoại, làm như dưới đây:

doc xuất tờ 4
1: tất cả các tên trang tính đã được chọn theo mặc định, nếu bạn không muốn tách một số trang tính, bạn có thể bỏ chọn chúng;


2: Nếu bạn muốn tránh chia nhỏ các trang tính bị ẩn hoặc trống, bạn có thể kiểm tra Bỏ qua trang tính ẩn or Bỏ qua trang tính trống.);


3: và bạn cũng có thể kiểm tra Chỉ định lưu định dạng, và để chọn tách các trang tính, sau đó lưu dưới dạng tệp văn bản, tệp pdf hoặc tệp csv, trong defualt, nếu bạn không chọn tùy chọn này, nó sẽ chia trang tính và lưu dưới dạng sổ làm việc.

Bước 3: Sau đó nhấp vào chẻ và chọn thư mục mà bạn muốn đặt các sổ làm việc mới vào. Xem ảnh chụp màn hình:
doc xuất tờ 6

Bước 4: Và sau đó nhấp vào OK, sau đó mỗi trang tính được kiểm tra trong Chia sổ làm việc hộp thoại được xuất và lưu dưới dạng sổ làm việc riêng lẻ. Mỗi sổ làm việc mới được đặt tên với tên trang tính ban đầu. Xem ảnh chụp màn hình:
doc xuất tờ 5

Nhấp để biết thêm thông tin về công cụ Split Workbook này.

mũi tên màu xanh bong bóng bên phải Xuất và lưu từng trang tính dưới dạng sổ làm việc mới


Nhanh chóng chia dữ liệu thành nhiều trang tính dựa trên cột hoặc hàng cố định trong Excel

Giả sử bạn có một trang tính có dữ liệu từ cột A đến G, tên nhân viên bán hàng nằm trong cột A và bạn cần tự động chia dữ liệu này thành nhiều trang tính dựa trên cột A trong cùng một sổ làm việc và mỗi nhân viên bán hàng sẽ được chia thành một bảng tính. Kutools cho Excel'S Ngày chia tách tiện ích có thể giúp bạn nhanh chóng chia dữ liệu thành nhiều trang tính dựa trên cột đã chọn như ảnh chụp màn hình bên dưới được hiển thị trong Excel.  Nhấp để dùng thử miễn phí 30 ngày đầy đủ tính năng!
doc chia dữ liệu 2
 
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

Các bài liên quan:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Nadine · 4 months ago
    Thank you so much ! great and useful.
  • To post as a guest, your comment is unpublished.
    Sameer Kuppanath · 7 months ago
    For Each xWs In xWb.Worksheets

    How to do export only selected / grouped sheets to separate excel sheets by using this code.?
  • To post as a guest, your comment is unpublished.
    Issybeee · 10 months ago
    Hi there,

    Keep getting a pop up that says 'compile error, invalid outside procedure' when i try and run the code. Any thoughts? Thanks for all your help.
    • To post as a guest, your comment is unpublished.
      Sunny · 10 months ago
      Hi, Issybeee, I have update the VBA code in the tutorial, you can try the new one again.
  • To post as a guest, your comment is unpublished.
    Tobias vP · 1 years ago
    For those of you who save macros in your "Personal.XLSB" or XLSTART (I see more questions below related to this), change the line

    Set xWb = Application.ThisWorkbook to

    Set xWB = ActiveWorkbook

    That will make the macro run from the Active Workbook instead and save in a subfolder to that.

  • To post as a guest, your comment is unpublished.
    Diego · 1 years ago
    With the first method, if I hit F5, it opens a pop up window with the function "Go to". My excel is in spanish, im not sure if that is a factor. Any idea on how to fix it?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      You can directly click the Run button of the Microsoft Visual Basic for Applications window.
  • To post as a guest, your comment is unpublished.
    kerstin · 1 years ago
    Un aporte realmente útil. He probado el módulo con código VBA y funciona a la perfección. Muchas gracias, me has salvado una tarea que me hubiera llevado mucho tiempo con el mover y copiar.
  • To post as a guest, your comment is unpublished.
    SS · 1 years ago
    This is a fantastic piece of work, thanks a lot.
    Do we have any option to select only specific columns in a worksheet to be exported?
    • To post as a guest, your comment is unpublished.
      Sunny · 1 years ago
      Hi, SS, if you want to export a specific selection as a individual file, this article can help you https://www.extendoffice.com/documents/excel/626-excel-save-selection.html
  • To post as a guest, your comment is unpublished.
    JR · 2 years ago
    For anybody who finds the VBA code is not running as expected, try to change Line 9 to "Set xWb = Application.ActiveWorkbook"

    Otherwise, fantastic! Does exactly as described, and runs fairly quickly
  • To post as a guest, your comment is unpublished.
    Vinod Pingale · 2 years ago
    very nice.... Thanks
  • To post as a guest, your comment is unpublished.
    PK · 2 years ago
    How to convert this macro so that I can save it in my personal workbook and can use to where ever I need it.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Click Developer tab > Record Macro > select Personal Macro Workbook, and give the vba a name.
      Then in Microsoft Visual Basic for Applications window, click VBAProject(PERSONA_XLSB) > Modules > double click Module1, paste the code between Sub() and End Sub, save the code.
      When you want to use the code, click Developer > Macro, choose the code you name.
      • To post as a guest, your comment is unpublished.
        brahim · 1 years ago
        xWs.Copy this methode give me an erreor 1004
  • To post as a guest, your comment is unpublished.
    Sergii · 2 years ago
    February 2019 - after some update Excel silently exits macro right after Application.ActiveWorkbook.SaveAs
    It means, that commands Application.ActiveWorkbook.Close does not run and file stays opened... Could it be fixed? This happened all the machines in our office on several workbooks that were using such kind of Macro.
  • To post as a guest, your comment is unpublished.
    Jenne · 2 years ago
    Do you have the formula to make sure that each excel sheet when saved as a new work book is in total format Comma Delimited .CSV
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Sorry, I have no idea,neither.
  • To post as a guest, your comment is unpublished.
    Jenne · 2 years ago
    Love this and another info you have on splitting data into each worksheet. However I keep getting an error when trying to upload my single reports into my system

    I needed them as a csv file so just changed the last part of the module to .csv I am wondering if I missed something else that should've been changed.

    Thanks a million
  • To post as a guest, your comment is unpublished.
    Ananda · 3 years ago
    what is the use of Worksheet.Save??
    • To post as a guest, your comment is unpublished.
      erick · 3 years ago
      to save the changes made
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      What? I do not understand.
  • To post as a guest, your comment is unpublished.
    Eunice · 3 years ago
    Hi Sunny,

    Thank you for sharing this code!

    I keep getting this error "Compile Error: Wrong number of arguments or invalid property assignment" at the "format" portion of the following string:

    DateString = format(Now, "yyyy-mm-dd hh-mm-ss")
  • To post as a guest, your comment is unpublished.
    Borges · 3 years ago
    Hi, I use this VBA code all the time to separate commission statements into individual spreadsheets. Is it possible to add a line to the code so it will automatically email the report to each person using outlook?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Soryy I did not know a code can do that, but you can split the workbook first, then apply Kutools for Excel's Create Mailing List and Send Emails utilities to create a mailing list, and then send the reports as attachments to each person. For more detail, please go to visit this article https://www.extendoffice.com/product/kutools-for-excel/excel-create-mailing-list-and-send-email.html
  • To post as a guest, your comment is unpublished.
    dilshadrana46@gmail.com · 3 years ago
    i cant find enterprise toolbar kindly help me
  • To post as a guest, your comment is unpublished.
    dilshadrana46@gmail.com · 3 years ago
    this code cahnge dates in my sheets
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      What dates have been changed? The modified dates? The Enterprise tab will be appeared after installing Kutools for Excel.
  • To post as a guest, your comment is unpublished.
    Isuru · 3 years ago
    xWs.Copy line comes up with an error in my case with 2016 "Method 'Copy of object'_Worksheet' failed.
    Please suggest me a correction if possible.
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Sorry, I have no idea about your problem.
  • To post as a guest, your comment is unpublished.
    Peggy · 3 years ago
    Hi,


    its totally work with the excel 2010.


    however, after i upgraded to Excel 2016, the code doesn't work.


    would you please advise which part should i be revised?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Excuse me, which method you cannot use in Excel 2016? In my condition, all of the methods above do work in Excel 2016 perfectly
  • To post as a guest, your comment is unpublished.
    Omeir · 3 years ago
    Hi the second method worked great. Thank you. I have one question. This method saves each worksheet as a new workbook based on the name of the sheet. Is there anyway to add to the name, for example sheets have a variable name which is currently being saved. Can I add January 2017 or Feb 2017 to the files saved?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Thanks for your leaving message, you can apply Kutools for Excel's Rename Multiple Worksheets to rename every sheets of the workbook firstly, then use one of above methods to export or save the sheets separately as workbook. If you want to know more detail on Rename Multiple Worksheet utility, please visit this:https://www.extendoffice.com/product/kutools-for-excel/batch-rename-excel-worksheets.html
  • To post as a guest, your comment is unpublished.
    Sarfraz · 4 years ago
    Is there a way to change this macro so I can save it in a file in the XLSTART folder but it will run for the active workbook? Everytime I save it in the XLSTART workbook it fails at the DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")line.

    Thanks!
    Sarfraz
  • To post as a guest, your comment is unpublished.
    Aung · 4 years ago
    This is exactly what I needed! Awesome!
  • To post as a guest, your comment is unpublished.
    Rae · 4 years ago
    Hi. I received an error code that says "Compile error: Invalid outside procedure"...help!
  • To post as a guest, your comment is unpublished.
    DAS · 4 years ago
    Your code worked for me... Thanks much!!!
  • To post as a guest, your comment is unpublished.
    Richard · 4 years ago
    Can we also export ALL (300+) sheets to html,
    this will help me a lot, the export to unified text is already helping but I need them in html, or no table borders for the cell differences
  • To post as a guest, your comment is unpublished.
    Madhav Mehendale · 5 years ago
    Out of the above three methods, I found the first method to be quite good having regard to the fact that I am a beginner & my work is not at all of the same magnitude like professionals. My sincere thanks for explaining the steps in simple and lucid manner.
  • To post as a guest, your comment is unpublished.
    Beth G · 5 years ago
    Run time error Method 'Copy of Object' worksheet' failed
  • To post as a guest, your comment is unpublished.
    Beth G · 5 years ago
    xWs.Copy -it is an error in my part what does it mean?
  • To post as a guest, your comment is unpublished.
    Louise · 5 years ago
    Great article - VBA worked first time - perfect
  • To post as a guest, your comment is unpublished.
    Charlie Clarke · 5 years ago
    Unfortunately the VBA code didn't work for me. I had to debug and the issue is with the line:
    Application.ActiveWorkbook.SaveAs xFile, FileFormat:=FileFormatNum

    Any ideas why it didn't work for me?
  • To post as a guest, your comment is unpublished.
    JoaoM · 5 years ago
    Muy buena la aplicacion.

    Es una pena no existir tambien en Español.

    Gracias
  • To post as a guest, your comment is unpublished.
    AC · 5 years ago
    Very Useful thanks! Loved the VBA Code
  • To post as a guest, your comment is unpublished.
    fauzan · 6 years ago
    thank. terimakasih. ini code yang saya butuhkan
  • To post as a guest, your comment is unpublished.
    farfan · 6 years ago
    The VBA codes works like magic, but is there a way for this to be done using VBScript? I'm going nuts trying to meet the requirement from my supervisor.
  • To post as a guest, your comment is unpublished.
    Chris · 7 years ago
    this code is perfect for what i need,
    but could you show code for the exact same process for one sheet rather than the entire workbook?
  • To post as a guest, your comment is unpublished.
    Sam · 7 years ago
    The code is failing at sh.Copy and I cannot figure out why. Any Ideas?
  • To post as a guest, your comment is unpublished.
    Votefor Pedro · 7 years ago
    Thank you. This is esactly what I needed.
  • To post as a guest, your comment is unpublished.
    Phani · 7 years ago
    Hi All,
    Can someone help me on below.
    I need VBA code that can copy only all visible sheets to new workbook and it should not copy macro code to new workbook, save new workbook on desktop with two different cell values in sheet and sheet name as a file name and close the master workbook without saving.
  • To post as a guest, your comment is unpublished.
    Keith · 7 years ago
    Is there a way to change this macro so I can save it in a file in the XLSTART folder but it will run for the active workbook? Everytime I save it in the XLSTART workbook it fails at the DateString = Format(Now, "yyyy-mm-dd hh-mm-ss")line.

    Thanks!
    Keith
  • To post as a guest, your comment is unpublished.
    Rajesh Jayagopi · 7 years ago
    Thanks a lot. Good Job!.
  • To post as a guest, your comment is unpublished.
    Sean · 7 years ago
    Hello I like the code
    Is it possible to just save the new workbook without the date information That is so when I resave the sheets in the previous workbook I will have the option to overwrite the changes rather than create another dated folder? Also but not so important how could I use another name and destination for the destination folder
    Regards
    Sean
  • To post as a guest, your comment is unpublished.
    Nasser · 7 years ago
    thanks alot, works very well and easy.