Dán VBA (Hướng dẫn từng bước) | Làm thế nào để dán dữ liệu bằng mã VBA?

Dán VBA trong Excel

Có ba cách khác nhau để dán một số dữ liệu từ vị trí này sang vị trí khác trong trang tính bằng VBA, phương pháp đầu tiên là thường tham chiếu các giá trị từ ô này sang ô khác bằng toán tử gán, một phương pháp khác là sử dụng hàm dán và phương thức thứ ba là bằng cách sử dụng chức năng pastespecial.

Sao chép và dán là điều phổ biến nhất mà chúng ta làm hàng ngày ở nơi làm việc của mình. Trong một bảng tính thông thường, chúng tôi không cần bất kỳ giới thiệu đặc biệt nào về nó. Trong lập trình VBA, điều rất quan trọng là phải hiểu khái niệm về phương pháp “PASTE” để hiểu chương trình để tiến lên cấp độ tiếp theo.

Hiểu phương pháp dán VBA bằng cách ghi macro

Để bắt đầu quy trình, hãy hiểu cách thức hoạt động của phương pháp dán bằng cách ghi lại một macro đơn giản. Tôi đã nhập một giá trị vào ô A1 như được hiển thị trong hình ảnh bên dưới.

Bây giờ tôi sẽ chỉ cho bạn phương pháp sao chép và dán từ ô A1 đến A3. Làm theo các bước dưới đây để ghi macro.

Bước 1: Nhấp vào Ghi Macro trong tab nhà phát triển excel.

Bước 2: Tại thời điểm bạn nhấp vào ghi macro, nó sẽ hiển thị cho bạn tên của macro mặc định. Hiện tại chỉ cần nhấp vào OK.

Bước 3: Thời điểm bạn nhấp vào ok, nó bắt đầu ghi lại các hoạt động bạn làm. Điều đầu tiên bạn cần làm là chọn ô A1 để sao chép.

Bước 4: Bây giờ nhấn Ctrl + C để sao chép ô đã chọn.

Bước 5: Bây giờ chọn ô A3 nơi chúng ta cần dán giá trị đã sao chép.

Bước 6: Bây giờ dán bằng cách nhấn Ctrl + V.

Bước 7: Bây giờ dừng ghi âm.

Chuyển đến trình chỉnh sửa cơ bản trực quan để xem các bản ghi. Dưới đây là ngoài ghi âm.

Điều đầu tiên chúng tôi đã làm ở đây là “chúng tôi đã chọn ô A1”, vì vậy mã cho hoạt động này là Phạm vi (“A1”). Chọn

Hoạt động tiếp theo là chúng ta đã sao chép ô A1. Bạn có thể nhận thấy ở đây là mã không phải là Phạm vi (“A1”). Sao chép thay vì nó nói Lựa chọn. Sao chép, điều này là do thời điểm bạn chọn ô, ô đó sẽ trở thành ô hoạt động hoặc vùng chọn. Vì vậy, nó được gọi là Lựa chọn. Sao chép .

Hoạt động thứ ba là chúng tôi đã chọn ô A1 để dán, vì vậy mã là Phạm vi (“A3”). Lựa chọn

Hoạt động cuối cùng là chúng ta đã dán giá trị vào ô. Ở đây nó nói là Active Sheet bởi vì thời điểm bạn chọn ô, nó sẽ trở thành một ô hoạt động của trang hiện hoạt. Vì vậy, mã là “ActiveSheet.Paste”

Đây là cách phương pháp Dán hoạt động trong VBA.

Công thức

Dưới đây là công thức cho phương pháp dán VBA:

Expression.Paste (Đích, Liên kết)

Một biểu thức không là gì ngoài tên trang tính mà bạn muốn dán. Để hiểu rõ hơn về đối tượng trang tính, hãy đọc bài viết của chúng tôi về “Trang tính VBA”.

Bạn có thể tham khảo trang tính khác theo tên nếu bạn muốn dán vào cùng một trang tính mà bạn đã sao chép, bạn có thể tham khảo trang tính hiện tại bằng “Trang tính hoạt động”.

Đích: Sau khi đề cập đến tên trang tính, chúng ta cần tham khảo địa chỉ ô đích. Ví dụ: nếu bạn muốn dán vào trang tính “Dữ liệu bán hàng” và trong ô A5 đến A10 thì bên dưới là mã mẫu.

Bảng tính (“Dữ liệu bán hàng”). Phạm vi (“A5: A10”)

Nếu bạn bỏ qua đối số này thì bất kỳ ô nào đang hoạt động sẽ được coi là ô đích.

Liên kết: Nếu bạn muốn tạo liên kết đến phạm vi đã sao chép thì bạn có thể cung cấp đối số là TRUE hoặc nếu không thì FALSE.

Ví dụ về phương pháp dán trong Excel VBA

Dưới đây là các ví dụ về Phương pháp Dán VBA trong Excel.

Ví dụ # 1 - Dán vào cùng một trang tính Excel

Bây giờ chúng ta hãy xem cách sử dụng phương pháp dán VBA trong cùng một trang tính. Ví dụ như một cuộc trình diễn, tôi có một vài giá trị từ ô A1 đến A5.

Bây giờ tôi muốn sao chép cái này và dán vào C1 đến C5. Làm theo các bước dưới đây để viết mã của riêng bạn.

Bước 1: Trước khi đăng bất cứ điều gì, điều đầu tiên chúng ta cần làm là sao chép phạm vi dữ liệu. Vì vậy, hãy sao chép phạm vi từ A1 đến A5.

Mã:

 Sub Paste_Example1 () Range ("A1: A5"). Sao chép End Sub 

Bước 2: Sau khi sao chép, chúng ta cần xác định rõ nơi chúng ta đang dán. Để thực hiện việc này trước tiên chúng ta cần chỉ định tên trang tính, trong trường hợp này vì chúng ta đang dán trong cùng một trang tính, hãy sử dụng đối tượng Trang tính Hoạt động.

Mã:

 Sub Paste_Example1 () Range ("A1: A5"). Sao chép ActiveSheet.Paste End Sub 

Bước 3: Sau khi chọn phương pháp dán, chúng ta cũng cần xác định điểm đến. Vì vậy đích sẽ là Dải C1 đến C5.

Mã:

 Sub Paste_Example1 () Range ("A1: A5"). Sao chép ActiveSheet.Paste Destination: = Range ("C1: C5") End Sub 

Bước 4: Bây giờ tôi không muốn tạo bất kỳ liên kết nào đến phương pháp dán VBA này, vì vậy tôi bỏ qua đối số tiếp theo.

Bây giờ hãy chạy mã này bằng phím F5 hoặc theo cách thủ công, nó sẽ sao chép từ A1 sang A5 và sẽ dán vào C1 đến C5.

Nếu bạn nhìn vào các giá trị từ C1 đến C5, các giá trị này giống như trong ô từ A1 đến A5. Vì vậy, phương pháp dán VBA này sao chép mọi thứ và dán mọi thứ.

Bây giờ tôi sẽ sử dụng đối số LINK để xem nó hoạt động như thế nào. Đối với đối số LINK, tôi đã cung cấp ĐÚNG.

Mã:

 Sub Paste_Example1 () Range ("A1: A5"). Sao chép ActiveSheet.Paste Link: = True End Sub 

Thao tác này sẽ tạo liên kết đến ô từ A1 đến A5.

Vì vậy, nó đã tạo ra một liên kết. Một thiếu sót đáng chú ý là định dạng của các ô ở đây. Nó chưa dán bất kỳ kiểu định dạng nào.

Ví dụ # 2 - Dán vào Trang tính Excel Khác nhau

Sao chép từ trang tính này sang trang tính khác yêu cầu tên trang tính. Giả sử bạn muốn sao chép dữ liệu từ trang tính “Trang tính đầu tiên” và bạn muốn dán vào trang tính “Trang tính thứ hai” dưới đây là cách tham chiếu các trang tính.

Mã:

 Sub Paste_Example2 () Worksheets ("First Sheet"). Range ("A1: A5"). Copy Worksheets ("Second Sheet"). Paste Destination: = Range ("C1: C5") End Sub 

Thao tác này sẽ sao chép dữ liệu từ A1 sang A5 từ tên trang tính được gọi là “First Name”, sau đó nó sẽ dán vào trang tính “Trang tính thứ hai” trong phạm vi từ C1 đến C5.

Bạn có thể tải xuống Mẫu VBA Dán tại đây: - Mẫu VBA Dán Excel


$config[zx-auto] not found$config[zx-overlay] not found