Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để tạo một nút lệnh để sao chép và dán dữ liệu trong Excel?

Giả sử bạn cần thường xuyên sao chép một loạt ô sang nơi khác sau khi thay đổi dữ liệu, phương pháp sao chép và dán thủ công sẽ rất phức tạp và tốn thời gian. Làm thế nào để làm cho việc sao chép và dán này chạy tự động? Bài viết này sẽ hướng dẫn bạn cách sử dụng nút lệnh để sao chép và dán dữ liệu chỉ với một cú nhấp chuột.

Tạo một nút lệnh để sao chép và dán dữ liệu bằng mã VBA


Tạo một nút lệnh để sao chép và dán dữ liệu bằng mã VBA

Vui lòng làm như sau để sao chép và dán dữ liệu tự động khi nhấp vào Nút lệnh.

1. Chèn một nút lệnh bằng cách nhấp vào Nhà phát triển > Chèn > Nút lệnh (Điều khiển ActiveX). Xem ảnh chụp màn hình:

2. Vẽ một Nút lệnh trong trang tính của bạn và nhấp chuột phải vào nó. Lựa chọn Mã Chế độ xem từ trình đơn ngữ cảnh.

3. Trong cửa sổ bật lên Microsoft Visual Basic cho các ứng dụng , vui lòng thay thế mã gốc trong cửa sổ Mã bằng mã VBA bên dưới.

Mã VBA: Sử dụng Nút lệnh để sao chép và dán dữ liệu trong Excel

Private Sub CommandButton1_Click()
    Application.ScreenUpdating = False
    Dim xSheet As Worksheet
    Set xSheet = ActiveSheet
        If xSheet.Name <> "Definitions" And xSheet.Name <> "fx" And xSheet.Name <> "Needs" Then
            xSheet.Range("A1:C17 ").Copy
            xSheet.Range("J1:L17").PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        End If

    Application.ScreenUpdating = True
End Sub

Chú thích: Trong mã, CommandButton1 là tên của Nút lệnh được chèn của bạn. A1: C17 là phạm vi bạn cần sao chép và J1: L17 là phạm vi đích để dán dữ liệu. Vui lòng thay đổi chúng khi bạn cần.

4. nhấn Khác + Q chìa khóa để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ. Và tắt Chế độ thiết kế trong tab Nhà phát triển.

5. Bây giờ hãy nhấp vào Nút lệnh, tất cả dữ liệu trong phạm vi A1: C17 sẽ được sao chép và dán vào phạm vi J1: L17 mà không cần định dạng ô.


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 ...
  • Thanh siêu công thức (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-2021 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 đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại 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
Nhận xét (60)
Xếp hạng 4.5 trong 5 · xếp hạng 1
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đã sử dụng chức năng này trong sổ làm việc của mình. Tôi đang sử dụng các nút x đang hoạt động để sao chép và dán dữ liệu trong cùng một trang tính trên nhiều trang tính. Tuy nhiên, có những trang tính không có nút x hoặc macro đang hoạt động lấy dữ liệu được dán từ các trường tương ứng trên trang tính mà tôi không muốn. Giúp đỡ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có thể có mã sẽ sao chép dải ô I4: L26 từ Sheet2 (được gọi là TransferSheet) (nút sẽ nằm trên trang tính này) sang Trang tính1 (được gọi là JobsToDo) trên hàng C (dòng đầu tiên trống vì điều này sẽ có dữ liệu được thêm liên tục không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào bạn có thể thay đổi mã để dán kết quả vào một trang khác trong sổ làm việc? và làm thế nào để bạn chèn một hàng trước khi đưa dữ liệu mới vào để nó không ghi đè lên nó
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Jason,
Nếu bạn muốn dán kết quả vào một trang tính khác trong sổ làm việc, hãy thử mã VBA bên dưới.

Private Sub CommandButton1_Click ()
Làm mờ xSheet, xDWS As Worksheet
Dim xFNum dưới dạng số nguyên
Dim xSRg dưới dạng phạm vi

On Error Resume Next
Đặt xSRg = Application.InputBox ("Vui lòng chọn ô để dán phạm vi:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xSRg không có gì thì thoát Sub

Application.ScreenUpdating = Sai
Phạm vi ("A1: C17"). Sao chép
xSRg.PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Application.ScreenUpdating = True

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
công thức để chúng tôi sao chép tệp như thế nào
sau đó dán nó vào trang tính tiếp theo. và dán hình tiếp theo tạo khoảng trống hoặc tiếp tục đi xuống mà không xóa hình dán trước đó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề. Xin vui lòng có một thử. Cảm ơn bạn.

Private Sub CommandButton1_Click ()
Làm mờ xSheet, xDWS As Worksheet
Dim xFNum dưới dạng số nguyên
Dim xSRg dưới dạng phạm vi

On Error Resume Next
Đặt xSRg = Application.InputBox ("Vui lòng chọn ô để dán phạm vi:", "Kutools cho Excel", xTxt,,,,, 8)
Nếu xSRg không có gì thì thoát Sub

Application.ScreenUpdating = Sai
Phạm vi ("A1: C17"). Sao chép
xSRg.PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Application.ScreenUpdating = True

End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều gì sẽ xảy ra nếu tôi muốn tạo một hàng đợi dán?
Để giải thích thêm. Tôi nhấp vào CommandButton1 sau đó nó sao chép A1. Khi tôi đã sử dụng dán, bản sao từ A1 - Sau đó, tôi muốn sao chép A2 mà không cần nhấp vào nút khác, để tôi có thể dán A2 ngay lập tức, ở một nơi khác. Sau đó, Khi tôi đã sử dụng dán, bản sao từ A2 rồi sao chép A3. Nếu điều đó là có thể? Điều này cũng có thể hoạt động ở chế độ nền khi sử dụng trang tính Excel bình thường và cố gắng thực hiện hành động này khi tôi sao chép từ Excel, sau đó dán vào một chương trình hoàn toàn khác như trình duyệt internet, chương trình khác, tệp word, txt, v.v. ?

Bài viết này dù sao cũng cực kỳ hữu ích, cảm ơn bạn rất nhiều!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Magnus,
Xin lỗi không thể giúp bạn với điều đó. Cám ơn bạn đã góp ý.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn mở rộng điều này một bước ... Sau khi dán các giá trị thực tế không phải công thức ... Tôi cần sao chép ô mới và dán vào một chương trình khác không phải excel, chỉ cần tôi nhấp vào nút sao chép công thức từ ô cụ thể và quá khứ giá trị thực trong một ô khác, sau đó sao chép giá trị mới đó vào khay nhớ tạm thời của windows để quá khứ trong một ứng dụng khác. Hy vọng điều này có ý nghĩa và đánh giá cao sự giúp đỡ của bạn trong việc biết cách thêm mã mới ... Tôi biết tôi muốn nó làm gì, chỉ là không quen với cách viết mã ...
Cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Code đã được cập nhật trong bài, mời các bạn chơi thử. Cảm ơn bình luận của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể cho nút lệnh để dán ngay phạm vi đã chọn vào một trang tính được chỉ định (trong ô trống tiếp theo) thay vì phải nhập mỗi lần bạn muốn dán dữ liệu không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Adam,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề.
Bạn cần thay thế "Sheet4" và "A1: C17" trong mã bằng trang tính và dải ô đã chỉ định của bạn.

Private Sub CommandButton1_Click ()
Làm mờ xSWName thành chuỗi
Làm mờ xSheet dưới dạng trang tính
Làm mờ xPSheet dưới dạng trang tính
Dim xIntR dưới dạng số nguyên
xSWName = "Trang tính4"
On Error Resume Next
Application.ScreenUpdating = Sai
Đặt xSheet = ActiveSheet
Nếu xSheet.Name <> "Định nghĩa" Và xSheet.Name <> "fx" Và xSheet.Name <> "Cần" Thì
xSheet.Range ("A1: C17"). Sao chép
Đặt xPSheet = Worksheets.Item (xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells (xIntR + 1, 1) .PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Cuối Nếu
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
rất tốt, tôi cần phải sao chép và dán nhiều lần, liệu tôi có thể lựa chọn dán một hàng dữ liệu vào 3 hàng hay 5 hàng bất cứ thứ gì tôi thích không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin lỗi không thể giúp bạn với điều đó
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
sir làm thế nào để sao chép phạm vi của ô trong trang tính hiện tại sau đó dán vào trang tính khác?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề.
Bạn cần thay thế "Sheet4" và "A1: C17" trong mã bằng trang tính và dải ô đã chỉ định của bạn.

Private Sub CommandButton1_Click ()
Làm mờ xSWName thành chuỗi
Làm mờ xSheet dưới dạng trang tính
Làm mờ xPSheet dưới dạng trang tính
Dim xIntR dưới dạng số nguyên
xSWName = "Trang tính4"
On Error Resume Next
Application.ScreenUpdating = Sai
Đặt xSheet = ActiveSheet
Nếu xSheet.Name <> "Định nghĩa" Và xSheet.Name <> "fx" Và xSheet.Name <> "Cần" Thì
xSheet.Range ("A1: C17"). Sao chép
Đặt xPSheet = Worksheets.Item (xSWName)
xIntR = xPSheet.UsedRange.Rows.count
xPSheet.Cells (xIntR + 1, 1) .PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Cuối Nếu
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu tôi muốn Sao chép điều này không phải trong sổ làm việc hiện tại mà vào một sổ làm việc khác (vẫn chưa được mở) trong excel. Làm cách nào để thay đổi mã VBA này cho phù hợp?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Robbert,
Xin lỗi không thể giúp bạn với điều đó. Cảm ơn đã bình luận.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi có một qusrion Tôi có trang tính 1 với cột ngày tháng b3: b33 và tôi muốn nó được sao chép sang trang tính 2 B33: b63 văn bản của nó nhưng tôi cần cùng một định dạng cho văn bản, tức là kích thước màu
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào tác giả,

Bài viết mà bạn đề cập ở trên rất hữu ích đối với tôi. Tôi không sử dụng để mã và lệnh excel. Tôi vẫn cần biết hơn là bài báo này. Tôi đồng ý với bản sao và dán vào trang tính tiếp theo. Nhưng tôi vẫn cần biết "cách dán và thêm vào dòng mới trong trang tính tiếp theo mỗi khi tôi nhấn nút". Nếu không, dữ liệu của tôi trên trang tính tiếp theo sẽ được thay thế mọi lúc. Tôi thực sự sẽ rất biết ơn và mong nhận được câu trả lời của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Kyaw Ye Min,
Xin lỗi vì đã trả lời muộn. Làm theo các bước và thay thế mã bằng mã bên dưới. Trong mã, Sheet4 là trang tính đích mà bạn sẽ sao chép dữ liệu vào, vui lòng thay đổi nó và phạm vi được sao chép A1: C17 khi bạn cần. Cám ơn bạn đã góp ý.

Private Sub CommandButton1_Click ()
Làm mờ xSWName thành chuỗi
Làm mờ xSheet dưới dạng trang tính
Làm mờ xPSheet dưới dạng trang tính
Dim xIntR dưới dạng số nguyên
xSWName = "Trang tính4"
On Error Resume Next
Application.ScreenUpdating = Sai
Đặt xSheet = ActiveSheet
Nếu xSheet.Name <> "Định nghĩa" Và xSheet.Name <> "fx" Và xSheet.Name <> "Cần" Thì
xSheet.Range ("A1: C17"). Sao chép
Đặt xPSheet = Worksheets.Item (xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells (xIntR + 1, 1) .PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Cuối Nếu
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, vui lòng giúp đỡ. Tôi yêu cầu tương tự như trên nhưng tôi chỉ cần dán bất kỳ ô nào đang hoạt động vào một dòng mới (nếu có thể trên các mục trước đó) trong một trang tính khác. Thực sự đánh giá cao bất kỳ sự giúp đỡ nào với điều này. Trân trọng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xin chào, giúp trường hợp của tôi, tôi muốn có một nút để tạo macro trong đó tôi có excel và xuất dữ liệu trong <""> sang word, cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Xin lỗi, tôi không hiểu ý bạn. Sẽ rất tuyệt nếu bạn có thể giải thích chi tiết hơn về những gì bạn đang cố gắng làm.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi đang tìm kiếm một số trợ giúp về việc người dùng có thể nhấp vào một số hàng và sau đó nhấn nút lệnh để tạo một bản sao của hàng đó và chèn nó vào hàng bên dưới nó.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Good day,
Xin lỗi có thể giúp bạn với điều đó được nêu ra. Cám ơn bạn đã góp ý.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
master bagaimana jika berbeda sheet dan sao chép dữ liệu yg diinginkan
contoh sheet1 hanya data kolom B & kolom D copy ke sheet2
Terima Kasih
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
vui lòng gửi VBAcode để sao chép nội dung ô đơn bằng cách nhấp vào nút commmand mà không sử dụng hộp văn bản để tha sẽ có thể dán vào bất kỳ ứng dụng nào như notepad, msword
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Có thể tạo một nút chỉ sao chép một ô đã chọn trên trang tính này sang trang tính khác không? Thanks!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào lexi,
Mã VBA dưới đây có thể giúp bạn giải quyết vấn đề. Vui lòng thay đổi "Sheet3" thành tên trang tính khi bạn cần.
Chọn một ô và nhấn nút lệnh để ô đó hoạt động.

Private Sub CommandButton1_Click ()
Làm mờ xSWName thành chuỗi
Làm mờ xSheet dưới dạng trang tính
Làm mờ xPSheet dưới dạng trang tính
Dim xIntR dưới dạng số nguyên
xSWName = "Trang tính3"
On Error Resume Next
Application.ScreenUpdating = Sai
Đặt xSheet = ActiveSheet
Nếu xSheet.Name <> "Định nghĩa" Và xSheet.Name <> "fx" Và xSheet.Name <> "Cần" Thì
Lựa chọn.C HiệnRegion.Select
Lựa chọn. Sao chép
Đặt xPSheet = Worksheets.Item (xSWName)
xIntR = xPSheet.UsedRange.Rows.Count
xPSheet.Cells (xIntR + 1, 1) .PasteSpecial Paste: = xlValues, Operation: = xlNone, SkipBlanks: = False, Transpose: = False
Cuối Nếu
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hello!
Có cách nào để tạo mã để tôi có thể có một nút sao chép một dải (giả sử A1: D5).
Và sau đó dán nó vào A6: D10.

Và nếu tôi nhấn nút một lần nữa, nó sẽ sao chép A1: D5 thành A11: D15.

Và như thế?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Jonas,
Xin lỗi không thể giúp bạn về điều đó. Cảm ơn bình luận của bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là điều tuyệt vời - tôi đã điều chỉnh cho trang tính của mình nhưng tôi cần nó năng động hơn và sử dụng các nhãn thay vì mã cứng các vị trí ô.
Tức là trong phạm vi A2-A6, tìm tên 'Jamie', sau đó tìm tên trong Cột K2 và dán

Tôi cũng cần mỗi lần nhấp để +1 và chạy cùng một bản sao và dán nhưng đến cột tiếp theo, tức là

nhấp 1 - dán vào Q1, Nhấp 2 - dán vào Q2, v.v.

Ví dụ:

Cột A Cột B ...... Cột K Cột L
1. Tên Số giờ đã làm việc Tên Q1 Q2 Q3 Q4
2. Jamie 22 Sammy
3. Sammy 40 Judith
4. Judith 18 Jamie
5. Tammy 16 Keith
6. Keith 42 Tammy


Mọi sự trợ giúp sẽ rất được trân trọng.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
làm thế nào để viết mã để sao chép ô từ phạm vi a1 đến a5 để dán vào c1 và vào ô có sẵn tiếp theo một cách tuần tự?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
và cũng có thể sao chép và dán từng ô một ..
Cảm ơn sự giúp đỡ của bạn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào các cậu. điều này cần một số trợ giúp, xin vui lòng. Tôi cần tạo một nút 10 * trong trang tính của mình (Sheet1) sẽ sao chép 3 ô, Ví dụ: Sheet1, A1, B1, C1. sau đó dán nó vào Sheet2 A1, B1, C1. sau đó nếu tôi nhấp vào nút 4, ví dụ: Sheet1, A4, B4, C4, tôi cần điều này để chuyển sang Sheet2, A2, B2, C2. Nếu tôi nhấp vào Nút 2 thì nó phải chuyển sang Sheet2, A3, B3, C3. Tôi hy vọng điều này có ý nghĩa.
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL