Trang chủ>  Blog >  Chia sẻ kinh nghiệm >  Xử lý dữ liệu lặp bằng VBA – xoá dòng trùng, lọc nâng cao

Xử lý dữ liệu lặp bằng VBA – xoá dòng trùng, lọc nâng cao


Dữ liệu trong Excel thường bị trùng dòng, nhất là khi bạn: • Gộp dữ liệu từ nhiều nguồn • Copy–paste từ nhiều file • Nhập tay thiếu kiểm soát ⚠ Nếu không xử lý, báo cáo sai số, lọc sai thông tin, hoặc lặp dữ liệu khách hàng. 👉 Bài viết này sẽ hướng dẫn bạn xử lý dữ liệu lặp bằng VBA, giúp xoá dòng trùng, lọc nâng cao, tiết kiệm thời gian hơn nhiều so với thao tác tay.

  305 lượt xem

Nội dung bài viết

1. Khi nào cần xoá dòng trùng?

Một số tình huống thực tế:

Tình huống

Vấn đề nếu không xử lý

Danh sách khách hàng

Trùng email, gửi 2 lần → khó chịu

Dữ liệu chấm công

Lặp ngày → cộng công sai

Danh sách giao dịch

Trùng ID → báo cáo sai doanh thu

Lịch sử chăm sóc KH

Lặp nội dung → spam chăm sóc

2. Code VBA xoá dòng trùng theo cột bất kỳ

✏️ Ví dụ: xoá dòng trùng theo cột A

Giả sử bạn có dữ liệu từ A1 đến D1000, muốn xóa các dòng có giá trị trùng nhau ở cột A:

Sub XoaDongTrung_CotA()

 

    Dim lastRow As Long

    Dim ws As Worksheet

 

    Set ws = ThisWorkbook.Sheets("Sheet1") ' Đổi tên sheet nếu cần

    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

 

    ' Xoá dòng trùng dựa vào cột A

    ws.Range("A1:D" & lastRow).RemoveDuplicates Columns:=1, Header:=xlYes

 

    MsgBox "Đã xoá dòng trùng theo cột A!"

 

End Sub

✅ Bạn có thể thay Columns:=1 thành Columns:=Array(1,2,3) nếu muốn xoá trùng theo nhiều cột. 
Generated image

3. Lọc nâng cao bằng VBA – giữ lại duy nhất

Bạn muốn tạo một danh sách không trùng, ví dụ lấy danh sách tỉnh thành, mã sản phẩm, mã nhân viên, bạn có thể dùng đoạn sau:

Sub Loc_DanhSach_Unique()

 

    Dim ws As Worksheet

    Dim sourceRange As Range

    Dim targetRange As Range

 

    Set ws = ThisWorkbook.Sheets("Sheet1")

    Set sourceRange = ws.Range("A2:A1000") ' Dữ liệu cần lọc

    Set targetRange = ws.Range("F2")       ' Nơi dán kết quả

 

    sourceRange.AdvancedFilter Action:=xlFilterCopy, _

        CopyToRange:=targetRange, Unique:=True

 

    MsgBox "Đã lọc danh sách không trùng tại cột F"

 

End Sub

📌 Ứng dụng tốt cho:

  • Danh sách tỉnh thành
  • Mã sản phẩm duy nhất
  • Các email khách hàng khác nhau

Generated image

4. Kết hợp với nút bấm trên Excel

Bạn có thể chèn Button → gán macro để chạy trực tiếp:

  • Vào tab Developer → Insert → Button
  • Gán macro XoaDongTrung_CotA hoặc Loc_DanhSach_Unique
  • Click → Excel tự làm việc

Generated image

  1. Tổng kết – Ưu điểm của xử lý lặp bằng VBA

So sánh

Thao tác tay

Dùng VBA

Tốc độ

Thủ công, chậm

Nhanh, chỉ 1 click

Tính lặp lại

Mỗi lần làm lại

Gắn macro, tái dùng nhiều lần

Nâng cao

Bị giới hạn

Tuỳ chỉnh logic, kết hợp điều kiện

Tích hợp

Khó tự động hóa

Có thể chạy trong quy trình lớn

Generated image

Học VBA Excel để làm việc thông minh hơn

Bạn đang làm việc nhiều giờ mỗi tuần với Excel, nhưng:

  • Vẫn thao tác lặp lại
  • Báo cáo hay bị lỗi do dữ liệu lặp
  • Mất thời gian lọc, sửa, chuẩn hóa?

🎓 Đã đến lúc học VBA tại MCI Academy để làm chủ Excel:

  • 15+ project thật trong công việc văn phòng
  • Hướng dẫn từng dòng, ai cũng làm được
  • Có hỗ trợ cá nhân hoá macro cho công ty bạn
  • Giảng viên từng làm cho Tập đoàn lớn (VPBank, Vingroup...)

📞 Hotline: 0352.433.233
🌐 Web: mcivietnam.com

Chương trình đào tạo: Phân tích dữ liệu, Khoa học dữ liệu, Kĩ sư dữ liệu, Lập trình ứng dụng.
Chất lượng nhất - Uy tín nhất - Nhiều học viên tin tưởng nhất
Hơn 8000 học viên ưu tú đã tốt nghiệp
Đăng ký tư vấn khóa học

*Vui lòng nhập số điện thoại của bạn

*Vui lòng nhập họ tên của bạn

*Vui lòng chọn địa điểm học

*Vui lòng chọn giới tính

*Vui lòng chọn 1 trường


Các bài viết liên quan


5 kỹ năng vàng để trở thành Data Analyst chuyên nghiệp

Data Analyst đang trở thành một trong những nghề được săn đón nhất trong kỷ nguyên dữ liệu. Nhưng để thực sự thành công, bạn không chỉ cần biết cách xử lý số liệu mà còn phải trang bị cho mình bộ kỹ năng toàn diện – từ kỹ thuật, phân tích đến giao tiếp. Bài viết này sẽ giúp bạn khám phá 5 kỹ năng quan trọng nhất mà mọi Data Analyst chuyên nghiệp đều phải thành thạo.

Top 10 các câu lệnh trong VBA Excel phổ biến nhất cho dân Kế Toán

Tìm hiểu các câu lệnh trong VBA Excel hữu ích nhất dành cho dân kế toán, giúp tự động hóa và tối ưu quy trình làm việc hàng ngày với bảng tính Excel.

Phân tích Dữ liệu và Hiểu biết Khách hàng: Tối ưu hóa Trải nghiệm Người dùng

Phân tích dữ liệu là quá trình tổng hợp, xử lý, đánh giá và giải thích các dữ liệu liên quan đến hành vi của khách hàng, bao gồm lịch sử giao dịch, hoạt động trên trang web, tương tác với sản phẩm hoặc dịch vụ, đánh giá về chất lượng và sự hài lòng, và nhiều yếu tố khác. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng phân tích dữ liệu để hiểu rõ hơn về hành vi của khách hàng. Chúng tôi hy vọng rằng bài viết này sẽ cung cấp cho bạn kiến thức và kỹ năng cần thiết để phát triển doanh nghiệp của bạn.

Các bài viết liên quan