Xin giúp em lọc dữ liệu có điều kiện ạ (2 người xem)

Liên hệ QC

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

Thử lại cái này xem sao nha Bạn. Sai mình sửa tiếp hehe...
Mã:
Sub Laydulieu()
    Dim sArr(), dArr(), tArr(), KyTu()
    Dim i As Long, J As Long, TK, K As Long
    Dim Ma As String, m As Long, Tmp
With Sheet1
    KyTu = Array(",", "{", ",", "(", "[", "]", "-", "(", ")", ".")
    sArr = .Range("A2", .Range("A65535").End(3)).Value
    tArr = .Range("C2", .Range("C65535").End(3)).Value
    ReDim dArr(1 To UBound(sArr), 1 To 1)
    For i = 1 To UBound(sArr)
        If sArr(i, 1) <> Empty Then
            Ma = sArr(i, 1)
            For J = 0 To UBound(KyTu)
                Ma = Replace(Ma, KyTu(J), " ", , 2)
            Next J
            TK = False
            Tmp = Split(Ma, " ")
            For J = 1 To UBound(tArr)
                For m = 0 To UBound(Tmp)
                    If UCase(Trim(Tmp(m))) = UCase(Trim(tArr(J, 1))) Then
                        TK = True: Exit For
                    End If
                Next m
                 If TK = True Then Exit For
            Next J
            If TK = False Then
                If IsNumeric(sArr(i, 1)) = False Then
                    K = K + 1
                    dArr(K, 1) = sArr(i, 1)
                End If
            End If
        End If
    Next i
    .Range("F2:F1000").ClearContents
    .Range("F2").Resize(K, 1) = dArr
End With
End Sub
ANH ƠI CODE SẮP OK RỒI EM TÉT KĨ RỒI ĐC TẦM 99% RỒI CÒN 1 CÁI NÀY NỮA THÔI Ạ , ĐÓ LÀ LÚC ĐẦU EM CÓ YÊU CẦU LÀ NHỮNG TỪ CẦN BỎ QUA MÀ ĐI KÈM VỚI NHỮNG KÍ TỰ , { () [ ]- . " GẶP LÀ BỎ, GIỜ ANH BỔ SUNG THÊM CHO EM 9 KÍ TỰ NÀY NỮA LÀ OK Ạ : _ \ / + " : ; ' MÀ NẾU ANH LÀM ĐC TỔNG QUÁT TẤT CẢ CÁC KÍ TỰ ĐẶC BIỆT FULL THÌ OK Ạ , CÒN KHÔNG THÌ CỨ THÊM 9 CÁI NÀY NỮA LÀ CÁI CODE NÀY ĐẸP ANH Ạ ( TỨC LÀ CÁC TỪ CẦ BỎ QUA CỨ ĐỨNG LIỀN VỚI NHỮNG KÍ TỰ NÀY THÌ BỎ )
 
ANH ƠI CODE SẮP OK RỒI EM TÉT KĨ RỒI ĐC TẦM 99% RỒI CÒN 1 CÁI NÀY NỮA THÔI Ạ , ĐÓ LÀ LÚC ĐẦU EM CÓ YÊU CẦU LÀ NHỮNG TỪ CẦN BỎ QUA MÀ ĐI KÈM VỚI NHỮNG KÍ TỰ , { () [ ]- . " GẶP LÀ BỎ, GIỜ ANH BỔ SUNG THÊM CHO EM 9 KÍ TỰ NÀY NỮA LÀ OK Ạ : _ \ / + " : ; ' MÀ NẾU ANH LÀM ĐC TỔNG QUÁT TẤT CẢ CÁC KÍ TỰ ĐẶC BIỆT FULL THÌ OK Ạ , CÒN KHÔNG THÌ CỨ THÊM 9 CÁI NÀY NỮA LÀ CÁI CODE NÀY ĐẸP ANH Ạ ( TỨC LÀ CÁC TỪ CẦ BỎ QUA CỨ ĐỨNG LIỀN VỚI NHỮNG KÍ TỰ NÀY THÌ BỎ )
Bạn thay cái KyTu cũ bằng cái này:
Mã:
KyTu = Array(",", "{", "}", "[", "]", "-", "(", ")", ".", "_", "\", "/", "+", ":", ";", "'", """")
 
Lần chỉnh sửa cuối:
ANH ƠI CODE SẮP OK RỒI EM TÉT KĨ RỒI ĐC TẦM 99% RỒI CÒN 1 CÁI NÀY NỮA THÔI Ạ , ĐÓ LÀ LÚC ĐẦU EM CÓ YÊU CẦU LÀ NHỮNG TỪ CẦN BỎ QUA MÀ ĐI KÈM VỚI NHỮNG KÍ TỰ , { () [ ]- . " GẶP LÀ BỎ, GIỜ ANH BỔ SUNG THÊM CHO EM 9 KÍ TỰ NÀY NỮA LÀ OK Ạ : _ \ / + " : ; ' MÀ NẾU ANH LÀM ĐC TỔNG QUÁT TẤT CẢ CÁC KÍ TỰ ĐẶC BIỆT FULL THÌ OK Ạ , CÒN KHÔNG THÌ CỨ THÊM 9 CÁI NÀY NỮA LÀ CÁI CODE NÀY ĐẸP ANH Ạ ( TỨC LÀ CÁC TỪ CẦ BỎ QUA CỨ ĐỨNG LIỀN VỚI NHỮNG KÍ TỰ NÀY THÌ BỎ )
Nếu mà gặp các ký tự đặc biệt là xét thành 1 điều kiện để bỏ không lấy thì Code khác chứ không phải như trên nữa rồi (Cái trên chỉ căn cứ vào điều kiện là không thuộc vùng C2 đến C... và không phải là số)
 
Bạn thư bấm nút Run1 và Run2 để kiểm tra kết quả
cái Dau nành loai [mot] có vi phạm gì đâu anh từ mot không phải từ cần loại bỏ vì em ko thêm nó vào cột C mà hiện tại em chỉ thêm 3 từ là anh, chi, em, a đang làm em rất rối
theo như file a vừa đưa thì em cần kết quả code Run 2 đó anh phải lấy cả dòng Dau nành loai [mot] bởi vì nó ko vi phạm gì, mà em thấy code lúc đầu a đưa cho em chuẩn rồi mà nhỉ vậy nó là code nào trong file a đưa vậy
 
Có cách nào để nó ko thông báo lỗi code khi không tìm được kết quả nào không ạ, ý là gặp trường hợp tất cả dữ liệu ở cột A đều vi phạm ấy anh
 
Có cách nào để nó ko thông báo lỗi code khi không tìm được kết quả nào không ạ, ý là gặp trường hợp tất cả dữ liệu ở cột A đều vi phạm ấy anh
Bạn thay cái dòng .Range("F2").Resize(K, 1) = dArr cũ thành
Mã:
 If K Then
        .Range("F2").Resize(K, 1) = dArr
    Else
        MsgBox "Khong tim thay du lieu"
    End If
 
Web KT

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

Back
Top Bottom