VBA dán đặc biệt | 5 cách hàng đầu để sử dụng VBA PasteSpecial Function?
Tương tự như trang tính khi chúng tôi sao chép dữ liệu và dán nó trên một phạm vi ô khác, chúng tôi có một phương pháp dán đặc biệt cho phép chúng tôi dán dữ liệu dưới dạng chính nó hoặc chỉ các công thức hoặc chỉ các giá trị và kiểu tương tự, chúng tôi có thể sử dụng Dán Đặc biệt trong VBA bằng cách sử dụng phương pháp thuộc tính phạm vi như sau phạm vi. dán đặc biệt () cung cấp kiểu chúng ta muốn trong dấu ngoặc.
Dán đặc biệt trong VBA
Dán Đặc biệt trong excel phục vụ nhiều mặt trong công việc hàng ngày của chúng ta. Sử dụng đặc biệt dán chúng ta có thể làm được nhiều việc hơn những cách thông thường. Sao chép và dán ở khắp mọi nơi trong thế giới máy tính. Nhưng đặc biệt dán là thứ nâng cao trong excel.
Giống như thông thường, dán đặc biệt trong excel trong VBA, chúng tôi có phương pháp dán đặc biệt để dán dữ liệu đã sao chép. Sao chép những thứ trong excel không phải là một điều xa lạ đối với người dùng excel, họ sao chép, dán và hầu hết thời gian họ sử dụng dán đặc biệt để phục vụ mục đích của họ theo nhiều cách.
Trong excel thông thường, dán bao gồm nhiều tùy chọn như chỉ dán giá trị, dán công thức, dán định dạng và v.v.
Paste Special phải Paste, Operation, Skip Blanks và Transpose như thế này trong VBA, chúng ta cũng có tất cả các tham số với phương thức Paste Special .
Công thức dán đặc biệt trong VBA
Dưới đây là Công thức để Dán Đặc biệt trong VBA
Dán Đặc biệt khả dụng với đối tượng Dải VBA vì sau khi sao chép dữ liệu, chúng ta sẽ dán nó vào phạm vi ô vì vậy phương pháp dán đặc biệt có sẵn với đối tượng phạm vi .
Loại dán: Sau khi sao chép dữ liệu, bạn muốn dán như thế nào. Cho dù bạn muốn dán các giá trị, công thức, định dạng, xác thực, v.v. Dưới đây là danh sách đầy đủ các tùy chọn có sẵn trong Loại Dán.
Dán Thao tác Đặc biệt: Trong khi dán, bạn có muốn thực hiện bất kỳ loại thao tác nào như cộng, trừ, chia, nhân hay không.
- [Bỏ qua khoảng trống]: Nếu bạn muốn bỏ qua khoảng trống thì bạn có thể chọn ĐÚNG hoặc SAI.
- [Transpose]: Nếu bạn muốn chuyển đổi dữ liệu thì bạn có thể chọn TRUE hoặc FALSE.
Ví dụ về Dán Đặc biệt trong Excel VBA
Sau đây là các ví dụ về dán đặc biệt trong VBA.
Bạn có thể tải xuống mẫu VBA Paste Special này tại đây - VBA Paste Special TemplateVí dụ # 1 - Chỉ dán các Giá trị bằng VBA PasteSpecial Function
Trong ví dụ đầu tiên, chúng tôi sẽ chỉ thực hiện dán các giá trị bằng cách dán đặc biệt. Giả sử bên dưới là dữ liệu bạn có trong tên trang tính được gọi là Dữ liệu bán hàng.
Bây giờ chúng ta sẽ thực hiện nhiệm vụ sao chép và dán bằng cách sử dụng một số phương pháp dán đặc biệt. Làm theo các bước dưới đây.
Bước 1: Tạo tên macro trước.
Bước 2: Đầu tiên sao chép phạm vi A1 đến D14 từ tên trang tính “Dữ liệu bán hàng”. Để sao chép phạm vi, hãy áp dụng mã dưới đây.
Mã:
Phạm vi ("A1: D14"). Sao chép
Bước 3: Sau khi sao chép dữ liệu, chúng ta sẽ dán các giá trị từ G1 đến J14. Đầu tiên tham chiếu phạm vi.
Mã:
Phạm vi ("G1: J14")
Bước 4: Sau khi chọn dãy chúng ta cần dán. Vì vậy, hãy đặt một dấu chấm (.) Và chọn Paste Special method.
Mã:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial End Sub
Bước 5: Từ danh sách thả xuống, chọn tùy chọn “xlPasteValues”.
Mã:
Sub PasteSpecial_Example1 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteValues End Sub
Bước 6: Bây giờ chạy mã này bằng cách sử dụng phím F5 hoặc thủ công và xem điều gì sẽ xảy ra.
Vì vậy, mã của chúng tôi đã sao chép dữ liệu từ A1 sang D14 và dán từ G1 sang J14 dưới dạng các giá trị.
Nó đã thực hiện nhiệm vụ của phím tắt excel trong bảng tính ALT + E + S + V .
Ví dụ # 2 - Dán Tất cả bằng VBA PasteSpecial
Bây giờ chúng ta sẽ xem điều gì sẽ xảy ra nếu chúng ta thực hiện tác vụ của xlPasteAll.
Mã:
Sub PasteSpecial_Example2 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteAll End Sub
Bây giờ nếu bạn chạy mã này theo cách thủ công thông qua tùy chọn chạy hoặc bằng cách nhấn phím F5, chúng tôi sẽ có như nó là dữ liệu.
Ví dụ # 3 - Dán các Định dạng bằng VBA PasteSpecial Function
Bây giờ chúng ta sẽ xem cách chỉ dán các định dạng. Đoạn mã dưới đây sẽ thực hiện công việc cho chúng tôi.
Mã:
Sub PasteSpecial_Example3 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteFormats End Sub
Nếu bạn chạy mã này bằng cách sử dụng phím F5 hoặc theo cách thủ công, chúng tôi sẽ nhận được định dạng duy nhất của phạm vi được sao chép không có gì khác.
Ví dụ # 4 - Dán Chiều rộng Cột bằng VBA Dán Đặc biệt
Bây giờ chúng ta sẽ xem cách chỉ dán chiều rộng cột từ phạm vi đã sao chép. Đối với điều này, tôi đã tăng chiều rộng cột cho một trong các cột dữ liệu của mình.
Áp dụng mã bên dưới, nó sẽ chỉ dán chiều rộng cột của phạm vi đã sao chép.
Mã:
Sub PasteSpecial_Example3 () Range ("A1: D14"). Copy Range ("G1: J14"). PasteSpecial xlPasteColumnWidths End Sub
Chạy mã này và xem sự khác biệt về chiều rộng cột.
Bây giờ chúng ta có thể thấy chiều rộng cột Bán hàng đã được tăng lên thành chiều rộng cột của cột phạm vi được sao chép của chúng tôi.
Ví dụ # 5 - Sao chép dữ liệu từ một trang tính sang một trang tính khác bằng cách sử dụng VBA Paste Special Option
Chúng ta đã thấy cách sao chép và dán dữ liệu trên cùng một trang tính. Bây giờ chúng ta sẽ làm thế nào để dán từ trang tính này sang trang tính khác.
Bước 1: Trước khi chọn phạm vi, chúng ta cần cho biết chúng ta cần chọn dữ liệu từ trang tính nào.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng") End Sub
Bước 2: Sau khi chọn trang tính theo tên của nó, chúng ta cần chọn phạm vi trong trang tính đó. Sao chép nó.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng"). Phạm vi ("A1: D14"). Sao chép End Sub
Đoạn mã trên cho biết trong tên trang tính “Dữ liệu bán hàng”, hãy sao chép Phạm vi (“A1: D14”)
Bước 3: Vì chúng ta đang dán nó trong một trang tính khác, chúng ta cần chọn trang tính theo tên của nó.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng"). Phạm vi ("A1: D14"). Sao chép Worksheets ("Bảng tháng") End Sub
Bước 4: Bây giờ trong trang tính “Trang tính tháng”, hãy chọn phạm vi.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng"). Phạm vi ("A1: D14"). Sao chép Trang tính ("Trang tính Tháng"). Phạm vi ("A1: D14") Kết thúc Sub
Bước 5: Sử dụng Dán đặc biệt, chúng ta sẽ dán các giá trị và định dạng.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng"). Range ("A1: D14"). Copy Worksheets ("Month Sheet"). Range ("A1: D14"). PasteSpecial xlPasteValuesAndNumberFormats End Sub
Bước 6: Chúng tôi không chỉ dán các giá trị và định dạng bằng VBA Paste Special mà còn dán nó dưới dạng TRANSPOSE.
Mã:
Sub PasteSpecial_Example5 () Worksheets ("Dữ liệu bán hàng"). Range ("A1: D14"). Copy Worksheets ("Month Sheet"). Range ("A1: D14"). PasteSpecial xlPasteValuesAndNumberFormats, Transpose: = True End Sub
Bây giờ chạy mã này, nó sẽ sao chép và chuyển dữ liệu sang “Trang tính tháng”.
Những điều cần nhớ về Excel VBA PasteSpecial Function
- Nếu bạn muốn bỏ qua các ô trống, bạn cần nhập đối số là TRUE theo mặc định, nó có giá trị FALSE.
- Nếu bạn muốn chuyển đổi dữ liệu, chúng ta cần chọn chuyển vị là ĐÚNG.
- Chúng tôi chỉ có thể thực hiện một lần dán đặc biệt tại một thời điểm.