Các anh trên diễn đàn giúp em chuyện này với. em muốn tìm sự khác nhau giữa các ký tự, theo thứ tự giữa các hàng với nhau. Có hàm nào làm được không vậy, cảm ơm mọi người. (em có ví dụ kèm theo)
Trong file đính kèm thấy bạn bỏ qua khoảng trắng, thử cách này xem, nếu giống nhau thì trả về dấu # (hoặc dấu gì đó), nếu khác thì lấy ký tự khác ở cột C, trả về chuỗi ở cột B. Tham khảo code, file vidu(1):
[gpecode=vb]
Sub Button1_Click()
Dim ChA As String, ChC As String, ChB As String
Dim i As Long, j As Byte, Rng As Range
Set Rng = Sheet1.Range([A1], [A65535].End(3))
For i = 1 To Rng.Rows.Count
ChB = ""
ChA = Replace(Rng(i), " ", "")
ChC = Replace(Rng(i).Offset(, 2), " ", "")
For j = 1 To Len(ChC)
If Mid(ChC, j, 1) = Mid(ChA, j, 1) Then
ChB = ChB & "#"
Else
ChB = ChB & Mid(ChC, j, 1)
End If
Next j
Rng(i).Offset(, 1) = ChB
Next i
End Sub
[/gpecode]
Thử thêm code này xem: Loại bỏ khoảng trắng, coppy cột C sang cột B, tô màu những ký tự khác nhau, file vidu(2):
[gpecode=vb]
Sub Button1_Click()
Dim ChA As String, ChB As String
Dim i As Long, j As Byte, Rng As Range
Set Rng = Sheet1.Range([A1], [A65535].End(3))
For i = 1 To Rng.Rows.Count
ChA = Replace(Rng(i), " ", "")
ChB = Replace(Rng(i).Offset(, 2), " ", "")
Rng(i).Offset(, 1) = ChB
For j = 1 To Len(ChB)
If Mid(ChB, j, 1) <> Mid(ChA, j, 1) Then
Rng(i).Offset(, 1).Characters(Start:=j, Length:=1).Font.ColorIndex = 3
End If
Next j
Next i
End Sub
[/gpecode]
Nếu các khoảng trắng trùng khớp nhau thì sửa code một chút:
[gpecode=vb]
Sub Button2_Click()
Dim ChA As String, ChB As String
Dim i As Long, j As Byte, Rng As Range
Set Rng = Sheet2.Range([A1], [A65535].End(3))
For i = 1 To Rng.Rows.Count
For j = 1 To Len(Rng(i).Offset(, 2))
If Mid(Rng(i).Offset(, 2), j, 1) <> Mid(Rng(i), j, 1) Then
Rng(i).Offset(, 2).Characters(Start:=j, Length:=1).Font.ColorIndex = 3
End If
Next j
Next i
End Sub
[/gpecode]