VBA Loại bỏ các bản sao | Làm thế nào để loại bỏ các giá trị trùng lặp trong Excel VBA?

RemoveDuplicates trong VBA Excel

Các giá trị trùng lặp thường không được yêu cầu trong excel, đặc biệt khi bạn muốn đếm các giá trị duy nhất. Chúng tôi thường có một tập hợp dữ liệu khác để làm việc và chúng tôi thấy một loạt các giá trị trùng lặp trong đó.

Tôi hy vọng bạn đã quen với việc loại bỏ các bản sao trong trang tính excel, nếu không có gì phải lo lắng, chúng tôi sẽ chỉ cho bạn một ví dụ đơn giản cho bạn. Trong VBA cũng vậy, chúng ta có thể thực hiện phương pháp loại bỏ các bản sao.

Vì vậy, nó đã loại bỏ tất cả các giá trị trùng lặp của tiêu đề "Khu vực". Tương tự, chúng ta có thể thực hiện tác vụ này với sự trợ giúp của mã VBA.

Làm thế nào để loại bỏ các giá trị trùng lặp trong mã hóa VBA?

Để loại bỏ các giá trị trùng lặp, trước tiên chúng ta cần đề cập đến phạm vi mà chúng ta đang đề cập đến, sau đó chúng ta có thể truy cập vào phương pháp “Xóa các giá trị trùng lặp”. Vì vậy, cú pháp sẽ như sau.

[Column]: Cột nào của vùng chọn mà chúng ta cần loại bỏ trùng lặp? Chúng ta cần đề cập đến số cột của phạm vi đã chọn.

[Header]: Dải ô bạn đã chọn có tiêu đề hay không. Chúng tôi có ba lựa chọn để làm việc ở đây.

  • xl Có: Nếu dữ liệu có tiêu đề thì bạn có thể chọn mục này.
  • xlNo: Nếu dữ liệu không có tiêu đề thì bạn có thể chọn mục này.
  • xlGuess: Tùy chọn này sẽ cho phép excel đoán tiêu đề của dữ liệu.

Vì vậy, bằng cách sử dụng các tham số này, chúng tôi có thể loại bỏ các bản sao chỉ bằng một cú nhấp chuột mà không phải đổ mồ hôi.

Trong phần dưới đây, tôi sẽ chỉ cho bạn một số ví dụ để VBA loại bỏ các bản sao. Làm theo các bước một cách cẩn thận để viết mã của riêng bạn.

Ví dụ về loại bỏ các giá trị trùng lặp trong mã hóa VBA

Dưới đây là các ví dụ về loại bỏ trùng lặp trong giá trị VBA.

VBA đã loại bỏ trùng lặp - Ví dụ # 1

Hãy xem xét dữ liệu dưới đây cho ví dụ này.

Từ dữ liệu trên, chúng tôi cần loại bỏ các bản sao cột "Khu vực", vì vậy hãy làm theo các bước dưới đây để viết mã.

Bước 1: Bắt đầu quy trình con bằng cách đặt tên cho mã macro.

Bước 2: Đề cập đến phạm vi dữ liệu bằng cách sử dụng đối tượng Phạm vi VBA .

Mã:

Sub Remove_Duplicates_Example1 () Phạm vi ("A1: C9"). Kết thúc Sub

Bước 3: Sau khi đề cập đến phạm vi truy cập phương pháp VBA “ RemoveDuplicates ”.

Mã:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). RemoveDuplicates End Sub 

Bước 4: Đầu tiên đối số ở cột nào chúng ta cần loại bỏ các giá trị trùng lặp. Trong ví dụ này từ cột đầu tiên, chúng ta cần loại bỏ các bản sao.

Mã:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). Các cột RemoveDuplicates: = 1, End Sub 

Bước 5: Điều tiếp theo là dữ liệu có tiêu đề hay không. Trong trường hợp này, chúng tôi có các tiêu đề, vì vậy hãy chọn “xlYes”.

Mã:

 Sub Remove_Duplicates_Example1 () Range ("A1: C9"). Các cột RemoveDuplicates: = 1, Header: = xlYes End Sub 

Chạy mã này, nó sẽ VBA loại bỏ các bản sao từ vùng đã chọn.

Đây là một cách rõ ràng để chỉ phạm vi ô. Nếu bạn muốn tự chọn phạm vi của chúng tôi và sau đó xóa các bản sao thì chúng tôi cần sử dụng biến để làm việc với. Trong ví dụ dưới đây, tôi sẽ chỉ cho bạn cách sử dụng các biến trong VBA.

VBA đã loại bỏ trùng lặp - Ví dụ # 2

Trong ví dụ trên, chúng tôi đã cung cấp cụ thể phạm vi ô. Bây giờ chúng ta sẽ xem cách làm việc với việc lựa chọn các ô riêng.

Ví dụ, tôi có một vài bộ dữ liệu như trong hình dưới đây.

Mỗi lần tôi không thể chỉ định phạm vi ô một cách rõ ràng, vì vậy chúng tôi sẽ chỉ định lựa chọn là phạm vi.

Bước 1: Khai báo biến là Range .

Mã:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range End Sub 

Bước 2: Phạm vi là một đối tượng, chúng tôi sẽ đặt phạm vi làm lựa chọn của chúng tôi.

Mã:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Lựa chọn Kết thúc Sub 

Bước 3: Bây giờ thay vì một dải ô, chúng ta có thể sử dụng biến “ rng ”.

Mã:

 Sub Remove_Duplicates_Example2 () Dim Rng As Range Set Rng = Selection Rng.RemoveDuplicates Columns: = 1, Header: = xlYes End Sub 

Trước khi chúng tôi chạy mã, chúng tôi cần chọn phạm vi ô trước tiên, sau đó chúng tôi có thể xóa các bản sao khỏi phạm vi ô đã chọn.

VBA Xóa các bản sao khỏi nhiều cột - Ví dụ # 3

Chúng tôi cũng có thể sử dụng VBA để loại bỏ các giá trị trùng lặp khỏi các cột excel. Để loại bỏ nhiều cột, chúng ta cần sử dụng Mảng và đề cập đến số cột.

Ví dụ, hãy nhìn vào hình ảnh dữ liệu ví dụ.

Chúng tôi có các giá trị trùng lặp trong cột đầu tiên và cột thứ tư. Vì vậy, chúng tôi sẽ loại bỏ khỏi các cột này. Sử dụng mã dưới đây để VBA để loại bỏ các bản sao.

Mã:

 Sub Remove_Duplicates_Example3 () Dim Rng As Range Set Rng = Range ("A1: D9") Rng.RemoveDuplicates Columns: = Array (1, 4), Header: = xlYes End Sub 

Bạn có thể tải xuống VBA Loại bỏ Bản sao Excel này tại đây. VBA Loại bỏ Mẫu Excel trùng lặp


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