Bỏ qua nội dung chính

Làm thế nào để sao chép nhiều trang tính nhiều lần trong Excel?

Đôi khi, chúng tôi có thể cần tạo một bản sao hoặc nhiều bản sao của các trang tính được chỉ định trong một sổ làm việc. Dưới đây là một số cách nhanh chóng giúp bạn dễ dàng sao chép một trang tính hoặc nhiều trang tính nhiều lần trong Excel.


Tạo một bản sao của nhiều trang tính cùng một lúc vào sổ làm việc đang hoạt động hoặc một sổ làm việc khác bằng lệnh Di chuyển hoặc Sao chép

Với Di chuyển hoặc sao chép trong Excel, bạn có thể tạo một bản sao của một trang tính, nhiều trang tính cụ thể hoặc tất cả các trang tính vào sổ làm việc đang hoạt động hoặc một sổ làm việc khác tại một thời điểm.

1. Trong sổ làm việc nhất định nơi bạn sẽ sao chép trang tính, hãy chọn nhiều trang tính trên thanh Tab Trang tính.
Chú thích: Giữ CTRL chính, bạn có thể chọn nhiều tab trang tính không liền kề bằng cách nhấp vào chúng lần lượt trên thanh Tab Trang tính; giữ SHIFT , bạn có thể chọn nhiều tab trang tính liền kề bằng cách nhấp vào tab trang tính đầu tiên và tab cuối cùng trên thanh Tab trang tính.

2. Nhấp chuột phải vào tab trang tính đã chọn trên thanh Tab Trang tính và chọn Di chuyển hoặc sao chép từ menu ngữ cảnh. Xem ảnh chụp màn hình:
doc sao chép nhiều tờ 01

3. Trong Di chuyển hoặc sao chép hộp thoại, vui lòng chỉ định các cài đặt sau:
(1) Vui lòng chỉ định sổ làm việc đích mà bạn sẽ sao chép các trang tính vào từ Đặt danh sách thả xuống. Bạn có thể chọn sổ làm việc đang hoạt động, một sổ làm việc đang mở khác hoặc một sổ làm việc mới nếu bạn cần.
(2) Chỉ định vị trí của các trang đã sao chép trên thanh Tab Trang tính, bạn có thể chọn sau tất cả các trang hiện có.
(3) Kiểm tra Tạo một bản sao tùy chọn, nếu bạn không chọn tùy chọn này, các trang tính đã chọn sẽ được chuyển vào sổ làm việc đích.
(4) Nhấp vào OK .

Bây giờ nó sẽ chỉ tạo một bản sao các trang tính đã chọn vào sổ làm việc được chỉ định. Để tạo nhiều bản sao của các trang tính này, bạn có thể lặp lại thao tác nhiều lần.

Chỉ vài cú nhấp chuột để tạo nhiều bản sao của nhiều trang tính trong sổ làm việc đang hoạt động

Nói chung, chúng tôi có thể sao chép nhiều trang tính với Di chuyển hoặc sao chép tính năng trong Excel. Tuy nhiên, tính năng này chỉ có thể tạo một bản sao tại một thời điểm. Đây, với Kutools cho Excel's Sao chép trang tính tiện ích, bạn có thể dễ dàng tạo nhiều bản sao của nhiều trang tính như bạn cần trong sổ làm việc đang hoạt động chỉ bằng vài cú nhấp chuột.


ad copy nhiều worksheet 01

Kutools cho Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng bản dùng thử MIỄN PHÍ 30 ngày đầy đủ tính năng mà không cần thẻ tín dụng! Get It Now

Tạo nhiều bản sao của một trang tính được chỉ định vào sổ làm việc đang hoạt động với mã VBA

Nếu bạn muốn tạo 10 bản sao của một trang tính cụ thể, Di chuyển hoặc sao chép lệnh sẽ là một cách tốn nhiều thời gian và bạn phải lặp lại thao tác nhiều lần. Nhưng với mã VBA sau, bạn có thể nhanh chóng sao chép trang tính 10 lần cùng một lúc.

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

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

VBA: Tạo nhiều bản sao của một trang tính nhất định vào sổ làm việc đang hoạt động

Sub Copier ()
Dim x As Integer
x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

Chú thích: Trong đoạn mã trên, hãy thay thế "Sheet1"với tên của trang tính sẽ được sao chép.

3. Sau đó nhấn F5 để chạy mã, một hộp nhắc xuất hiện để hỏi bạn số lượng bản sao trang tính mà bạn muốn.

4. Sau đó nhấn vào OK, trang tính được chỉ định đã được sao chép 100 lần trong sổ làm việc đang hoạt động.


Tạo nhiều bản sao của nhiều trang tính vào sổ làm việc đang hoạt động với Kutools cho Excel

Mặc dù việc tạo bản sao nhiều trang tính trong Excel rất đơn giản, nhưng nếu bạn muốn tạo nhiều bản sao của nhiều trang tính trong sổ làm việc hiện tại, bạn có thể phải sử dụng Di chuyển hoặc sao chép mục lệnh lặp đi lặp lại. Bạn có muốn hoàn thành công việc chỉ trong một cú nhấp chuột? Với Sao chép trang tính tiện ích của phần bổ trợ bên thứ ba Kutools cho Excel, bạn có thể tạo nhiều bản sao của nhiều trang tính bằng một cú nhấp chuột trong Excel.

Kutools cho Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng bản dùng thử MIỄN PHÍ 30 ngày đầy đủ tính năng mà không cần thẻ tín dụng! Get It Now

1. Nhấp chuột Kutools Plus > Sao chép trang tính. Xem ảnh chụp màn hình:

Chú thích: Nhấp chuột Kutools Plus > Bảng > Sao chép trang tính cũng sẽ nhận được tính năng này.

2. Áp dụng cài đặt trong Sao chép nhiều trang tính hộp thoại:
(1) Kiểm tra các trang tính bạn muốn sao chép từ đó Sao chép các trang tính đã chọn phần.
(2) Chỉ định Số lượng bản sao.
(3) Xác định vị trí của các trang tính đã sao chép, ví dụ, trước hoặc sau tất cả các trang tính, trước hoặc sau trang tính hiện tại.
(4) Nhấp vào Ok .

3. Một hộp nhắc nhở bật ra để nhắc bạn rằng các trang tính đã chọn đã được sao chép thành nhiều lần khi bạn cần, vui lòng nhấp vào OK để thoát khỏi nó. Xem ảnh chụp màn hình:

T Sao chép nhiều trang tính tính năng của Kutools cho Excel sẽ tạo nhiều bản sao của nhiều trang tính được chỉ định trong sổ làm việc đang hoạt động chỉ với vài cú nhấp chuột. Có một bản dùng thử miễn phí!


Tạo một bản sao của nhiều trang tính từ nhiều sổ làm việc thành một bản sao mới

Nếu bạn đã cài đặt Kutools cho Excel, bạn cũng có thể áp dụng Kết hợp các bảng tính tính năng tạo một bản sao của nhiều trang tính từ nhiều sổ làm việc đã đóng thành một sổ làm việc mới chỉ với vài cú nhấp chuột trong Excel.

Kutools cho Excel - Supercharge Excel với hơn 300 công cụ thiết yếu. Tận hưởng bản dùng thử MIỄN PHÍ 30 ngày đầy đủ tính năng mà không cần thẻ tín dụng! Get It Now

1. Nhấp chuột Kutools Plus > Kết hợp để kích hoạt tính năng Kết hợp Trang tính.

2. Trong phần Kết hợp các Trang tính - Trình hướng dẫn Bước 1/3, vui lòng kiểm tra Kết hợp nhiều trang tính từ sổ làm việc thành một trang tính và nhấp vào Sau cái nút. Xem ảnh chụp màn hình:

3. Trong trình hướng dẫn Kết hợp các Bảng tính - Bước 2/3, vui lòng thực hiện như ảnh chụp màn hình sau:
(1) Nhấp vào Thêm > Tập tin or Thư mục để thêm sổ làm việc, bạn sẽ sao chép trang tính từ đó.
(2) Trong Danh sách sổ làm việc kiểm tra sổ làm việc có trang tính bạn sẽ sao chép;
(3) Trong Danh sách bảng tính kiểm tra các trang tính bạn sẽ sao chép;
(4) Lặp lại ở trên (2) (3) để chọn trang tính từ các sổ làm việc khác mà bạn sẽ sao chép.
(5) Nhấp vào Sau .

4. Trong trình hướng dẫn Kết hợp Bảng tính - Bước 3/3, vui lòng định cấu hình cài đặt sao chép khi bạn cần và nhấp vào Kết thúc .

5. Bây giờ trong hộp thoại mới, vui lòng chỉ định một thư mục đích để lưu sổ làm việc mới, đặt tên cho sổ làm việc mới trong Tên tập tin và nhấp vào Lưu cái nút. Xem ảnh chụp màn hình:

Bây giờ hai hộp thoại khác sẽ xuất hiện và yêu cầu bạn mở sổ làm việc mới và lưu kịch bản kết hợp, vui lòng nhấp vào các nút khi bạn cần. Cho đến nay, nó đã sao chép tất cả các trang tính được chỉ định từ nhiều sổ làm việc cùng một lúc.

Với điều này Kết hợp (Trang tính) tiện ích, bạn có thể dễ dàng sao chép và kết hợp các trang tính và sổ làm việc như danh sách sau. Có một bản dùng thử miễn phí!
(1) Nhanh chóng kết hợp nhiều trang tính / phạm vi từ sổ làm việc thành một trang tính;
(2) Nhanh chóng hợp nhất / kết hợp tất cả các trang tính có cùng tên trên các sổ làm việc thành một trang tính;
(3) Nhanh chóng hợp nhất / kết hợp các trang tính hoặc sổ làm việc thành một sổ làm việc;
(4) Nhanh chóng tóm tắt / tính toán dữ liệu từ nhiều trang tính vào một trang tính.

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


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!
Comments (25)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.
This comment was minimized by the moderator on the site
Working Code

Sub Copier()
Dim s As String
Dim numtimes As Integer
Dim numCopies As Integer
numCopies = InputBox("How many copies do you need?")
s = InputBox("Enter the name of the Worksheet you want to copy")
For numtimes = 1 To numCopies
ActiveWorkbook.Sheets(s).Copy After:=ActiveWorkbook.Sheets(Worksheets.Count)
Next
End Sub

copy the entire line from ActiveWorkbook.Sheets...... that was the problem, and some spaces

Have a great day
This comment was minimized by the moderator on the site
[quote]I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.By Tyler Dempsey[/quote] Here is the exact code you want to use: Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
This comment was minimized by the moderator on the site
Thank you, the last one saved my life :)
This comment was minimized by the moderator on the site
[quote]I am new to this I am just trying to make copies of the same sheet this is the code I am using. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) Next End Sub when i use the code it gives me the error of "Syntax Error" then this text turns red ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Cou nt) and the is text turns yellow Sub Copier() what can i do to fix it.By Tyler Dempsey[/quote] Double check your code and make sure you don't have a space at ActiveWorkbook. Sheets(s).Copy _ or at Sheets(Worksheets.Cou nt)
This comment was minimized by the moderator on the site
Fantastic VBA code - really helped
This comment was minimized by the moderator on the site
When I first tried it, I got the error message because I didn't change the name Sheet1. After I realized what caused the error, I researched a little further, as I did not want to be manually entering the sheet name into the macro. And when I need this feature, it is almost always for the current sheet. I added the line a = activesheet.name And revised the line after:=activeworkbook.sheets("sheet1") to activeworkbook.sheets(a).copy _ That worked very well, but I did notice the numbering was reversed ... that didn't bother me as I was going to manually rename the new sheets anyway. When I saw Schuyler's post, I further revised the line activeworkbook.sheets(a).copy _ to after:=activeworkbook.sheets(worksheets.count) I am now satisfied with the result. My finished macro: Sub copies() Dim x As Integer x = InputBox("Enter number of times to copy Sheet1") For numtimes = 1 To x ActiveWorkbook.Sheets("Sheet1").Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub --- All the best, Barry
This comment was minimized by the moderator on the site
i got syntax error on "After:=ActiveWorkbook.Sheets(Worksheets.Count)


but i dunno whats wrong... Can u help me please?
This comment was minimized by the moderator on the site
Thank you so much Barry. Your finished macro is the only thing that worked for me.
This comment was minimized by the moderator on the site
where i will insert this above code in vba should i create common button then inside ?? regards.
This comment was minimized by the moderator on the site
Follow the below steps:
1. Copy the above code
2. Hold down the ALT + F11 keys, and it opens the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
4.Then press F5 key to run the code
5.A prompt box appears to ask you the number of sheet copies you want.
This comment was minimized by the moderator on the site
I get an error that 'numtimes' is not defined...?
This comment was minimized by the moderator on the site
I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9) I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)
This comment was minimized by the moderator on the site
[quote]I got the same error as Theou and no one seems to have addressed it. My tabs are already named PO 51, PO 52, etc. and I replaced Sheet1 with PO 51 to copy that and got the subscript error out of range (9) I followed Schuyler's code to get the right order, but I still get the error and it's always due to these two lines: ActiveWorkbook.Sheets(s).Copy _ Before:=ActiveWorkbook.Sheets(Worksheets.Count)By Debbi[/quote] Can you include your complete code to make it easier to debug? A "subscript error out of range" usually means that the code references something that doesn't exist. I find this in my own code when I've got a typo or something of that nature.
This comment was minimized by the moderator on the site
how to copy with same column widths
This comment was minimized by the moderator on the site
Same column widths as the original Worksheet or do you want all of the column widths to be the same?
This comment was minimized by the moderator on the site
yes it works thanks I have successfully make multiple copies of a single worksheet in same workbook by using vba code thnx a lot.
This comment was minimized by the moderator on the site
Search for word "After" and change it to "Before". This will create copies in right order "Before" Sheet1. The only thing to rememeber is that numbering will always start from (2) as the original sheet will always be counted as 1st copy. Also you can replace "Sheet1" with name of the tab you are trying to copy.
This comment was minimized by the moderator on the site
[quote]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?By MichaelTadashi[/quote] Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1) Thanks!
This comment was minimized by the moderator on the site
[quote][quote]Using the VBA code, the naming of the duplicated worksheets is in reverse order. Let's say I make 10 copies of Sheet1, I'll end up with Sheet1, Sheet1(10), Sheet1(9), Sheet1(8),.......is it possible to have them in normal order?By juan[/quote] Anyone was able to answer this question? I need to create 72 copies, but it would be needed to have them in order (1 throught 72, intead of 72 through 1) Thanks!By MichaelTadashi[/quote]e] If you want the sheet copies to be in sequential order instead of backwards, change the following line... After:=ActiveWorkbook.Sheets("Sheet1") to this... After:=ActiveWorkbook.Sheets(Worksheets.Count) My completed code looked like the following which uses 2 InputBox prompts to allow for a dynamic copy count and worksheet name.. Sub Copier() Dim s As String Dim numtimes As Integer Dim numCopies As Integer numCopies = InputBox("How many copies do you need?") s = InputBox("Enter the name of the Worksheet you want to copy") For numtimes = 1 To numCopies ActiveWorkbook.Sheets(s).Copy _ After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End Sub
This comment was minimized by the moderator on the site
How do i get the coppies continuous numbered. If the sheet i want to copy is named I002, and i want the next to be named I003,I004,I005 an so on.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations