So sánh 2 ô trong vba năm 2024

Trong một số trường hợp, bạn có thể chỉ cần so sánh hai ô liền kề của chuỗi và đánh dấu các điểm tương đồng hoặc khác biệt của chúng trong Excel. Bài viết này cung cấp hai phương pháp để bạn đạt được nó.

So sánh hai chuỗi với công thức

Như ảnh chụp màn hình bên dưới được hiển thị, nếu bạn chỉ muốn biết liệu các chuỗi được so sánh có khớp hay không, bạn có thể áp dụng công thức sau.

1. Chọn một ô trống C2, nhập công thức \= CHÍNH XÁC (A2, B2) vào Thanh công thức, rồi nhấn phím Đi vào. Xem ảnh chụp màn hình:

Chú thích: Trong công thức, A2 và B2 là các ô chứa các chuỗi so sánh.

2. Tiếp tục chọn ô kết quả, sau đó kéo Fill Handle đến các ô cho đến khi nhận được tất cả các kết quả được so sánh.

Kết quả FALSE có nghĩa là các chuỗi được so sánh là khác nhau và kết quả TRUE cho biết hai chuỗi được so sánh là khớp. Xem ảnh chụp màn hình:

So sánh hai chuỗi về sự giống nhau hoặc đánh dấu sự khác biệt với mã VBA

Nếu bạn muốn so sánh hai chuỗi và làm nổi bật sự giống nhau hoặc khác nhau giữa chúng. Mã VBA sau đây có thể giúp bạn.

1. nhấn Khác + F11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. bên trong Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đun. Sau đó sao chép và dán đoạn mã sau vào cửa sổ Mã.

Mã VBA: So sánh hai chuỗi cột để biết sự giống nhau hoặc đánh dấu sự khác biệt Sub highlight() 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:", "Kutools for Excel", 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, "Kutools for Excel" 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, "Kutools for Excel" GoTo lTwo End If If xRg1.CountLarge <> xRg2.CountLarge Then MsgBox "Two selected ranges must have the same numbers of cells ", vbInformation, "Kutools for Excel" GoTo lTwo End If xDiffs = (MsgBox("Click Yes to highlight similarities, click No to highlight differences ", vbYesNo + vbQuestion, "Kutools for Excel") = vbNo) Application.ScreenUpdating = False xRg2.Font.ColorIndex = xlAutomatic For I = 1 To xRg1.Count Set xCell1 = xRg1.Cells(I) Set xCell2 = xRg2.Cells(I) If xCell1.Value2 = xCell2.Value2 Then If Not xDiffs Then xCell2.Font.Color = vbRed Else xLen = Len(xCell1.Value2) For J = 1 To xLen If Not xCell1.Characters(J, 1).Text = xCell2.Characters(J, 1).Text Then Exit For Next J If Not xDiffs Then If J <= Len(xCell2.Value2) And J > 1 Then xCell2.Characters(1, J - 1).Font.Color = vbRed End If Else If J <= Len(xCell2.Value2) Then xCell2.Characters(J, Len(xCell2.Value2) - J + 1).Font.Color = vbRed End If End If End If Next Application.ScreenUpdating = True End Sub

3. Nhấn nút F5 phím để chạy mã. Trước hết Kutools cho Excel hộp thoại, chọn cột đầu tiên của chuỗi văn bản bạn cần so sánh, sau đó bấm vào OK .

4. Sau đó, thứ hai Kutools cho Excel hộp thoại bật lên, vui lòng chọn chuỗi cột thứ hai và nhấp vào OK .

5. Cuối cùng Kutools cho Excel hộp thoại, nếu bạn muốn so sánh các chuỗi để tìm sự giống nhau, hãy nhấp vào Có cái nút. Và để làm nổi bật sự khác biệt của các chuỗi được so sánh, hãy nhấp vào Không cái nút. Xem ảnh chụp màn hình:

Chủ đề