VBA Copy Paste | Các cách hàng đầu để sao chép và dán trong VBA (với các ví dụ)
Sao chép Dán trong VBA tương tự như những gì chúng ta làm trong trang tính excel, giống như chúng ta có thể sao chép một giá trị và dán nó vào một ô khác, chúng ta có thể sử dụng dán đặc biệt để chỉ dán các giá trị, tương tự trong VBA, chúng ta sử dụng phương pháp sao chép với thuộc tính phạm vi để sao chép giá trị từ ô này sang ô khác và để dán giá trị, chúng tôi sử dụng hàm trang tính phương pháp dán hoặc dán đặc biệt.
Làm thế nào để Sao chép Dán trong VBA?
Dưới đây là một số ví dụ về cách sao chép dán trong excel bằng VBA.
Điều cơ bản chúng ta làm trong excel là sao chép, cắt và dán dữ liệu từ ô này sang ô khác. Nó cũng không yêu cầu giới thiệu đặc biệt. Tuy nhiên, trong khi học mã VBA, điều quan trọng là phải hiểu khái niệm tương tự trong ngôn ngữ mã hóa. Copy Paste trong VBA là công việc hàng ngày chúng ta làm trong excel. Để sao chép trước hết chúng ta cần quyết định ô sẽ sao chép.
Ví dụ # 1 - Sao chép và dán các giá trị bằng đối tượng phạm vi
Bạn có thể tải xuống mẫu VBA Copy Paste Excel này tại đây - VBA Copy Paste Excel TemplateGiả sử bạn có từ “Excel VBA” trong ô A1.
Ví dụ, nếu bạn muốn sao chép ô A1, chúng ta có thể sử dụng đối tượng VBA RANGE.
Mã:
Sub Copy_Example () Phạm vi ("A1"). Kết thúc Sub
Thời điểm bạn tham chiếu ô, chúng tôi có thể thấy tất cả các thuộc tính và phương thức với nó. Vì vậy, hãy chọn phương pháp " Sao chép ".
Mã:
Sub Copy_Example () Range ("A1"). Sao chép End Sub
Sau khi chọn phương thức, nhấn phím khoảng trắng để xem đối số của phương thức Copy.
Nó cho biết Điểm đến.
Điều này không có gì khác ngoài việc bạn muốn sao chép-dán các giá trị trong VBA mà không cần chọn phương pháp PASTE.
Nếu chúng ta đang dán trong cùng một trang tính, chúng ta có thể chọn ô bằng cách sử dụng đối tượng Phạm vi. Giả sử nếu chúng ta muốn dán giá trị vào ô B3, chúng ta có thể đặt đích là “Phạm vi (“ B3 ”)” .
Mã:
Sub Copy_Example () Range ("A1"). Copy Destination: = Range ("B3") End Sub
Thao tác này sẽ sao chép dữ liệu từ ô A1 và dán vào ô B3.
Chúng tôi cũng có thể sử dụng phương pháp dưới đây để dán dữ liệu.
Mã:
Sub Copy_Example () Range ("A1"). Copy Range ("B3"). Chọn ActiveSheet.Paste End Sub
Đầu tiên, chúng ta sẽ sao chép và chọn dữ liệu từ ô A1 và dán vào ô B3.
Ví dụ # 2 - Sao chép sang một Trang tính khác trong cùng một sổ làm việc
Bây giờ nếu chúng ta muốn sao chép-dán giá trị từ các trang tính khác nhau bằng cách sử dụng macro VBA thì trong đối số Đích, chúng ta cần tham chiếu đến tên trang tính bằng cách sử dụng đối tượng WORKSHEETS, sau đó đề cập đến phạm vi ô trong WORKSHEET đó. Đoạn mã dưới đây sẽ thực hiện công việc.
Mã:
Sub Copy_Example () Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub
Nếu chúng ta muốn sao chép dữ liệu từ một trang tính cụ thể và muốn dán vào một trang tính cụ thể khác, chúng ta cần phải đề cập đến cả tên của các trang tính.
Đầu tiên chúng ta cần đề cập đến bảng sao chép.
Worksheets ("Sheet1"). Phạm vi ("A1"). Sao chép
Sau đó, trong đối số Đích, chúng ta cần đề cập đến tên trang tính được nhắm mục tiêu và phạm vi của ô.
Đích: = Worksheets ("Sheet2"). Phạm vi ("B3")
Vì vậy, mã sẽ như thế này.
Mã:
Sub Copy_Example () Worksheets ("Sheet1"). Range ("A1"). Copy Destination: = Worksheets ("Sheet2"). Range ("B3") End Sub
Ví dụ # 3 - Sao chép từ một sổ làm việc sang một sổ làm việc khác
Chúng ta đã thấy cách sao chép từ trang tính sang trang tính khác trong cùng một sổ làm việc. Nhưng chúng ta cũng có thể thực hiện việc này từ sổ làm việc này sang sổ làm việc khác.
Hãy xem đoạn mã dưới đây.
Mã:
Sub Copy_Example () Workbooks ("Book 1.xlsx"). Worksheets ("Sheet1"). Range ("A1"). Copy Workbooks ("Book 2.xlsx"). Kích hoạt ActiveWorkbook.Worksheets ("Sheet 2"). Chọn ActiveSheet.Paste End Sub
Đầu tiên, nó sẽ sao chép dữ liệu từ trang tính “Sheet1” trong sổ làm việc “Book1.xlsx” từ ô A1.
“ Workbooks (" Book 1.xlsx "). Worksheets (" Sheet1 "). Phạm vi (" A1 "). Sao chép"
Sau đó, nó sẽ kích hoạt sổ làm việc “Book 2.xlsx”.
Workbooks ("Book 2.xlsx"). Kích hoạt
Trong sổ làm việc đang hoạt động, nó sẽ chọn trang tính “Trang tính 2”
ActiveWorkbook.Worksheets ("Trang tính 2"). Chọn
Bây giờ trong trang tính đang hoạt động, nó sẽ dán
ActiveSheet.Paste
Cách thay thế để sử dụng Copy Paste trong VBA
Chúng tôi có một cách thay thế khác để chuyển dữ liệu từ ô này sang ô khác. Giả sử bạn có từ “Excel VBA” trong ô A1 và bạn cần có từ “VBA” trong ô B3.
Một phương pháp mà chúng tôi đã thấy là sử dụng phương pháp sao chép và dán VBA, bây giờ tôi sẽ chỉ cho bạn một trong những cách thay thế. Nhìn vào đoạn mã dưới đây để hiểu.
Mã:
Sub Copy_Example1 () Range ("A1"). Value = Range ("B3"). Giá trị End Sub
Ở trên cho biết bất kỳ giá trị nào có trong ô A1 phải bằng giá trị trong ô B3.
Phạm vi ("A1"). Giá trị = Phạm vi ("B3"). Giá trị
Mặc dù đây không phải là phương pháp sao chép và dán vẫn bổ sung thêm nhiều giá trị cho kiến thức mã hóa của chúng tôi.
Các cách sao chép và dán VBA làm giá trị hàng đầu
Bây giờ chúng ta sẽ thấy các cách khác nhau của các giá trị sao chép và dán VBA. Giả sử bạn đang ở trong ô A1 như trong hình dưới đây.
- Nếu chúng ta muốn sao chép và dán, chúng ta cần tham chiếu đến ô ở đây, thay vào đó chúng ta có thể chỉ sử dụng một thuộc tính của Selection. Phương pháp sao chép.
Mã:
Sub Copy_Example1 () Selection.Copy Destination: = Range ("B3") End Sub
HOẶC LÀ
Sub Copy_Example1 () ActiveCell.Copy Destination: = Range ("B3") End Sub
- Nếu bạn muốn sao chép toàn bộ phạm vi đã sử dụng của trang tính, bạn có thể sử dụng mã dưới đây.
Mã:
Sub Copy_Example2 () Worksheets ("Sheet1"). UsedRange.Copy Destination: = Worksheets ("Sheet2"). Range ("A1") End Sub
Thao tác này sẽ sao chép toàn bộ phạm vi đã sử dụng trong trang tính “Sheet1” và sẽ dán tương tự vào trang tính “Sheet2”