Cắt, Sao chép & Dán từ Macro - Ví dụ về mã VBA

Trong hướng dẫn này, bạn sẽ học một số phương pháp khác nhau để Sao chép & Dán và Cắt & Dán bằng macro VBA. Đọc hướng dẫn kèm theo về Dán giá trị và Dán đặc biệt để có các tùy chọn sao chép và dán nâng cao hơn.

Để sử dụng mã này: Mở Visual Basic Editor (Alt + F11), Chèn một mô-đun mới (Chèn> Mô-đun) và sao chép & dán mã mong muốn vào mô-đun.

Sao chép (Cắt) và Dán một ô

Ví dụ này sao chép hoặc cắt và dán một ô, A1 qua B1:

123456789 Sub Paste_OneCell ()'Sao chép và Dán một ôPhạm vi ("A1"). Sao chép phạm vi ("B1")'Cắt và Dán một ôPhạm vi ("A1"). Phạm vi cắt ("B1")Kết thúc Sub

Sao chép lựa chọn

Nếu bạn muốn sao chép lựa chọn đang hoạt động, hãy sử dụng cái này:

123456789101112 Sub CopySelection ()'Dán vào một Phạm vi xác địnhPhạm vi Selection.copy ("b1")'Offset Paste (lệch 2 ô xuống và 1 ô sang phảiSelection.copySelection.offset (2,1) .pasteApplication.CutCopyMode = SaiKết thúc Sub

Sao chép (Cắt) và Dán một Phạm vi Ô

Ví dụ này sao chép hoặc cắt và dán một dải ô, A1: A3 lên B1: B3:

123456789 Sub Paste_Range ()'Sao chép và Dán một Dải ôPhạm vi ("A1: A3"). Sao chép phạm vi ("B1: B3")'Cắt và Dán một loạt các ôPhạm vi ("A1: A3"). Phạm vi cắt ("B1: B3")Kết thúc Sub

Sao chép (Cắt) và Dán Toàn bộ Cột

Dưới đây chúng tôi sẽ trình bày một vài ví dụ nhanh. Đọc bài viết của chúng tôi về Sao chép và Dán Hàng và Cột để biết các ví dụ chi tiết, giải thích và các biến thể.

Ví dụ này sao chép hoặc cắt và dán toàn bộ cột, A qua B:

12345678910 Sub PasteOneColumn ()'Sao chép và Dán cộtPhạm vi ("A: A"). Sao chép phạm vi ("B: B")'Cắt và Dán CộtPhạm vi ("A: A"). Phạm vi cắt ("B: B")Kết thúc Sub

Sao chép (Cắt) và Dán Toàn bộ Hàng

Ví dụ này sao chép hoặc cắt và dán toàn bộ hàng, 1 trên 2:

12345678910 Sub Paste_OneRow ()'Sao chép và Dán hàngPhạm vi ("1: 1"). Sao chép phạm vi ("2: 2")'Cắt và Dán HàngPhạm vi ("1: 1"). Phạm vi cắt ("2: 2")Kết thúc Sub

Sao chép (Cắt) và Dán vào Trang tính hoặc Sổ làm việc khác

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()'Cắt hoặc Sao chép và Dán vào một trang tính khácTrang tính ("sheet1"). Phạm vi ("A1"). Sao chép Trang tính ("sheet2"). Phạm vi ("B1") 'Sao chépTrang tính ("sheet1"). Phạm vi ("A1"). Cắt Trang tính ("sheet2"). Phạm vi ("B1") 'Cắt'Cắt hoặc Sao chép và Dán vào một sổ làm việc khácWorkbooks ("book1.xlsm"). Worksheets ("sheet1"). Phạm vi ("A1"). Sao chép _Workbooks ("book2.xlsm"). Worksheets ("sheet1"). Phạm vi ("B1") 'Sao chépWorkbooks ("book1.xlsm"). Worksheets ("sheet1"). Phạm vi ("A1"). Cắt _Workbooks ("book2.xlsm"). Worksheets ("sheet1"). Phạm vi ("B1") 'CắtApplication.CutCopyMode = SaiKết thúc Sub

Dán giá trị

Thông thường, khi bạn Sao chép và Dán, bạn Dán tất cả các thuộc tính của ô: định dạng, công thức, v.v.… Dán Giá trị cho phép bạn Sao chép và Dán các giá trị của ô và không có gì khác. Cách dễ nhất để Dán Giá trị trong VBA là xác định trực tiếp giá trị của ô:

123456789101112131415 Giá trị phụ (Sub ValuePaste) ()'Giá trị dán ôPhạm vi ("B1"). Giá trị = Phạm vi ("A1"). Giá trịPhạm vi ("B1: B3"). Giá trị = Phạm vi ("A1: A3"). Giá trị'Đặt giá trị giữa các bảng tínhWorksheets ("sheet2"). Range ("A1"). Value = Worksheets ("sheet1"). Range ("A1"). Value'Đặt giá trị giữa các sổ làm việcWorkbooks ("book2.xlsm"). Worksheets ("sheet1"). Range ("A1"). Value = _Workbooks ("book1.xlsm"). Worksheets ("sheet1"). Range ("A1"). ValueApplication.CutCopyMode = SaiKết thúc Sub

Dán đặc biệt

Dán Đặc biệt cho phép bạn Sao chép và Dán các thuộc tính cụ thể của ô (ví dụ: định dạng, giá trị, độ rộng cột, v.v.). Nó cũng cho phép bạn thực hiện các thao tác dán đặc biệt (ví dụ: bỏ qua khoảng trống, chuyển vị). Chúng ta sẽ xem xét một số ví dụ bên dưới, nhưng để hiểu sâu hơn, hãy đọc hướng dẫn của chúng tôi về Dán và Dán Giá trị Đặc biệt.

12345678910111213141516171819 Sub PasteSpecial ()'Thực hiện một thao tác dán đặc biệt:Phạm vi ("A1"). Sao chép'Dán các định dạngPhạm vi ("B1"). PasteSpecial Paste: = xlPasteFormats'Dán Độ rộng của CộtPhạm vi ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Dán công thứcPhạm vi ("B1"). PasteSpecial Paste: = xlPasteFormulas'Thực hiện nhiều thao tác dán đặc biệt cùng một lúc:Phạm vi ("A1"). Sao chép'Dán định dạng và chuyển vịPhạm vi ("B1"). PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, SkipBlanks: = _Sai, Transpose: = ĐúngApplication.CutCopyMode = SaiKết thúc Sub

Xóa khay nhớ tạm

Sau khi Sao chép & Dán, bạn có thể muốn xóa khay nhớ tạm (chúng tôi thực hiện trong một số ví dụ mã ở trên). Để xóa khay nhớ tạm trong Excel, chúng tôi đặt Application.CutCopyMode thành False:

1 Application.CutCopyMode = Sai

Thao tác này sẽ xóa khay nhớ tạm của Excel. Tuy nhiên, nó sẽ không xóa Clipboard của Windows. Để xóa khay nhớ tạm thời của Window, hãy làm theo hướng dẫn tại đây.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave