Như Quỳnh Văn Vũ
Như Quỳnh Văn Vũ
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 313 lượt xem

Hướng dẫn cách so sánh và làm nổi bật các giá trị không khớp nhau trong danh sách

Jan 04 2021

Giả sử bạn cần so sánh 2 cột dữ liệu và tìm ra các giá trị khớp hoặc không khớp với nhau trong Excel thì bạn sẽ làm thế nào? Trong bài viết này, Gitiho sẽ hướng dẫn các bạn cách để so sánh và làm nổi bật (highlight) các giá trị đó.

Kết quả thu được sẽ giống như hình dưới đây:

Cách so sánh và làm nổi bật các giá trị khác nhau

Trong bảng dữ liệu trên, ta đang so sánh các giá trị ở cột 1 và cột 2. Bằng cách sử dụng một thủ tục (Sub) trong VBA chúng ta có thể tự động làm nổi bật các giá trị khác nhau giữa 2 danh sách này. Cách làm như sau:

Bước 1: Đầu Tiên, bạn hãy nhấn tổ hợp phím ALT + F11 để mở cửa sổ VBA.

Bước 2: Trong cửa sổ VBA, click chọn Insert => Module => copy và dán đoạn mã VBA sau vào trình soạn code:

Sub Dyeware()
    Dim xRg1 As Range
    Dim xRg2 As Range
    Dim xTxt As String
    Dim xCell1 As Range
    Dim xCell2 As Range
    Dim I As Long
    Dim J As Integer
    Dim xLen As Integer
    Dim xDiffs As Boolean
    On Error Resume Next
    If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
    Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
    End If
lOne:
    Set xRg1 = Application.InputBox("Range A:", "Gitiho.com", xTxt, , , , , 8)
    If xRg1 Is Nothing Then Exit Sub
    If xRg1.Columns.Count > 1 Or xRg1.Areas.Count > 1 Then
        MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Gitiho.com"
        GoTo lOne
    End If
lTwo:
    Set xRg2 = Application.InputBox("Range B:", "Kutools for Excel", "", , , , , 8)
    If xRg2 Is Nothing Then Exit Sub
    If xRg2.Columns.Count > 1 Or xRg2.Areas.Count > 1 Then
        MsgBox "Multiple ranges or columns have been selected", vbInformation, "Gitiho.com"
        GoTo lTwo
    End If
    If xRg1.CountLarge <> xRg2.CountLarge Then
       MsgBox "Two ranges must have the same numbers of cells ", vbInformation, "Gitiho.com"
       GoTo lTwo
    End If
    xDiffs = (MsgBox("Click Yes to highlight matched data, click No to highlight unmatched data ", vbYesNo + vbQuestion, "Gitiho.com") = vbNo)
    Application.ScreenUpdating = False
    xRg2.Interior.ColorIndex = xlNo
    xRg1.Interior.ColorIndex = xlNo
    For I = 1 To xRg1.Count
        Set xCell1 = xRg1.Cells(I)
        Set xCell2 = xRg2.Cells(I)
        If xCell1.Value = xCell2.Value Then
            If Not xDiffs Then
                xCell1.Interior.Color = vbRed
                xCell2.Interior.Color = vbRed
            End If
        Else
            If xDiffs Then
                xCell1.Interior.Color = vbRed
                xCell2.Interior.Color = vbRed
            End If
        End If
    Next
    Application.ScreenUpdating = True
End Sub

Bước 3: Nhấn F5 để chạy mã => Trong pop-up Gitiho.com, chọn dữ liệu cột thứ nhất (Range A)=> chọn OK. Tương tự, đối với cột thứ hai cũng thế (Range B).


Bước 4: Sau đó, sẽ xuất hiện một hộp thoại thì bạn hãy click chọn

  • NO nếu bạn muốn highlight các giá trị  KHÔNG khớp;
  • YES nếu bạn muốn highlight các giá trị khớp.


Bây giờ, các giá trị KHÔNG khớp trong dữ liệu của bạn đã được highlight:


Trên đây là những hướng dẫn về cách so sánh và highlight các giá trị không khớp trong Excel. Hi vọng các bạn có thể vận dụng nó trong thực tế để làm việc hiệu quả hơn. Chúc các bạn thành công.

CÓ THỂ BẠN CŨNG QUAN TÂM:

HƯỚNG DẪN SO SÁNH HAI CỘT DỮ LIỆU TRONG EXCEL ĐỂ XÓA, HIGHLIGHT, TÔ MÀU DỮ LIỆU TRÙNG LẶP

Hướng dẫn cách highlight cột bất kỳ trong biểu đồ cột

Hướng dẫn highlight nhóm dữ liệu trong Excel

Thời đại công nghệ 4.0 đang dần đi vào cuộc sống đòi hỏi mọi người phải tự trang bị kiến thức tin học cho phù hợp để có thể bắt kịp những thay đổi nhanh chóng này. Chẳng ai khác ngoài bạn hiểu mình cần trang bị thêm kiến thức gì. Hãy tìm hiểu ngay TẠI ĐÂY những khóa học hấp dẫn, có tính thực tế cao của Gitiho và đăng ký nhận tư vấn ngay hôm nay. Chi tiết tại Gitiho.com

Cùng tham gia cộng đồng hỏi đáp về chủ đề VBA

Thảo luận 0 câu trả lời
Lượt xem 313 lượt xem
Vỗ tay vỗ tay

0 Bình 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