Cách xoá bớt giá trị trùng lặp trong VBA.

Nội dung được viết bởi Lực td

Loại bỏ những giá trị trùng nhau trong Excel hay trong một danh sách bất kỳ sẽ giúp cho bảng tính của bạn được tinh gọn, trình bày sáng sủa hơn và trên tất cả là làm giảm dữ liệu của file. Bài viết này Gitiho.com sẽ hướng dẫn cho bạn đọc nào chưa biết về 3 cách để lọc hết những giá trị trùng lặp trong VBA.

Sử dụng Remove Duplicate để xoá giá trị bị trùng.

VBA là một công cụ cực kì hữu ích trong Excel. Nó giúp bạn thiết lập các công thức để thao tác với dữ liệu tự động, nhanh chóng chẳng hạn như xóa công thức chỉ để lại giá trị trong Excel.

Ngoài ra, một ứng dụng phổ biến của VBA là xóa các dữ liệu trùng lặp trong các Sheet với Remove Duplicate. Vậy chúng ta sẽ dùng Remove Duplicate thế nào?

Bước 1: Chọn phần dữ liệu được chọn để loc trùng.

Bước 2: Mở tab Data rồi chọn Remove Duplicate. Ngay tiếp theo là bảng Remove Duplicate hiện ra như sau.

Cách xoá bớt giá trị trùng lặp trong VBA.

Bước 3: Cửa sổ Remove Duplicate hiện ra và cho chúng ta ba lựa chọn: lọc cả bảng dữ liệu, chỉ lọc cột A và chỉ lọc cột B. 

Bước 4: Bấm OK để thực hiện thao tác Remove Duplicate

Cách xoá bớt giá trị trùng lặp trong VBA.

Lọc trùng bằng lệnh Remove Duplicate trong VBA.

Để sử dụng lệnh Remove Duplicate, ta đầu tiên phải mở tab Developer và chọn Record Macro để ghi lại toàn bộ thao tác Remove Duplicate vừa thực hiện bên trên.

Ta sẽ thu được dòng lệnh như sau.

ActiveSheet.Range(“A1:B20”).RemoveDuplicates Columns:=1

Ta sẽ cùng phân tích dòng lệnh này dưới đây.

- ActiveSheet :ta mở sheet nào thì đặt tên ngay cho sheet đó. Chúng ta cũng thể dùng Active Sheet cho Sheet đang mở.

Range(“A1:B20”): vùng bảng tính cần thực hiện. Vùng phạm vi này sẽ thay đổi toạ độ tuỳ theo nội dung của bảng tính.

Range(“A1:B20”).RemoveDuplicates: sử dụng chức năng Remove Duplicate để lọc giá trị trùng từ A1 đến B20.

Columns:=1 : Có nghìa là áp dụng ngay từ cột thứ nhất của bảng tính. Còn tuỳ theo bạn muốn lọc ở cột nào thì chỉ cần thay giá trị columns tương ứng.

Ngoài ra chúng ta cũng có một số biến thể của công thức này như sau.

Áp dụng lọc trùng ở cột B, phạm vi bảng A1:B20.

ActiveSheet.Range(“$A$1:$B$20”).RemoveDuplicates Columns:=2

Áp dụng lọc trùng ở cột  A, phạm vi từ A1 tới A20.

ActiveSheet.Range(“$A$1:$A$20”).RemoveDuplicates Columns:=1

Bảng tính động (tìm tới dòng cuối chứa dữ liệu).

Sub LocTrung04() 'Xác định dòng cuối trong bảng dữ liệu  Dim DongCuoi As Long    DongCuoi = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row 'Loại bỏ giá trị trùng trong bảng, gồm 2 cột A và B, từ dòng 1 tới dòng cuối chứa dữ liệu  ActiveSheet.Range("A1:B" & DongCuoi).RemoveDuplicates Columns:=1 End Sub

Sử dụng chức năng Conditional Formatting / Duplicate Value để phân biệt giá trị trùng.

Bước 1: Xác định vùng cần lọc trùng.

Như ví dụ dưới đây ta sẽ lọc trên vùng A2:A20

Cách xoá bớt giá trị trùng lặp trong VBA.

Bước 2: Trong tab Home ta chọn Conditional Formatting > Highlight Cell Rules > Duplicate Values

Cách xoá bớt giá trị trùng lặp trong VBA.
 

Bước 3: Chọn định dạng để để phân biệt những giá trị vùng.

Cách xoá bớt giá trị trùng lặp trong VBA.

Kết quả.

Cách xoá bớt giá trị trùng lặp trong VBA.
 

Quả thật VBA đã đem đến cho người sử dụng Excel cách xử lý dữ liêu nhanh chóng và chính xác. Không chỉ trên Excel mà VBA còn xuất hiện trên nhiều chương trình khác như Outlook, PowerPoint, Word,.. để hỗ trợ ngưởi dùng lập báo cáo tự động. 

Nếu bạn còn mới với VBA, chúng ta nên xem qua những bài viết của Gitiho.com về nội dung này.

Hướng dẫn về đối tượng Range trong VBA cơ bản

Tìm hiểu về cách tự tạo hàm Excel trong VBA

Hướng dẫn cách tùy biến comment trong Excel bằng VBA (Phần 1)

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông