So sánh text trong Cell (1 người xem)

  • Thread starter Thread starter abdung
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

abdung

Thành viên mới
Tham gia
9/2/12
Bài viết
7
Được thích
2
Hi cả nhà, mình đang có 1 file excel nhiều dòng có data text trong file giống file sample. Dữ liệu ngăn cách nhau bởi dấu chấm phảy (;) Data có khoảng vài nghìn dòng.
Mình đang cần xây dựng 1 hàm /VBA để lọc ra:
" Nếu cột B và C có chứa thông tin giống nhau chỉ khác về thứ tự thì trả về kết quả True, Nếu có khác nhau thì trả về kết quả False"
Cả nhà giúp mình với nhé. VBA thì càng tốt.
 

File đính kèm

Mã:
Public Function SoSanh(s1 As String, s2 As String) As Boolean
Dim v As Variant
If Len(s1) <> Len(s2) Then
    SoSanh = False
    Exit Function
End If
s2 = ";" & s2 & ";"
For Each v In Split(s1, ";")
  s2 = Replace(s2, ";" & v & ";", ";", 1, 1)
Next
    SoSanh = CBool(s2 = ";")
End Function
1. mặc định truyền tham số của VBA là ByRef.
Dòng: s2 = ";" & s2 & ";"
Thay đổi giá trị của tham số đầu vào.

2.
For Each v In Split(s1, ";")
s2 = Replace(s2, ";" & v & ";", ";", 1, 1)
Next
Nếu không có Replace là không có match. Nên cho nó thoát sớm:
s2 = ";" & s2 & ";"
lTruoc = Len(s2)
For Each v In Split(s1, ";")
s2 = Replace(s2, ";" & v & ";", ";", 1, 1)
lSau = Len(s2)
If lSau = lTruoc Then Exit Function
lTruoc = lSau
Next
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom