tạo file lọc dữ liệu ra kết quả tự động (1 người xem)

Liên hệ QC

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

Dennisphan94

Thành viên mới
Tham gia
30/8/17
Bài viết
44
Được thích
4
Giới tính
Nam
Dear mọi người

mình có một file dữ liệu , mình cần lọc dữ liệu theo điều kiện , thì có cách nào làm nhanh để khi mình nhập data và điều kiện sẽ ra kết quả nhanh được không ạ
mong mọi người giúp dùm , file mình đã đính kèm bên dưới
thank all
 

File đính kèm

Muốn lọc và ghi kết quả ra sheet khác thì dùng autofilter vba cũng ổn đó bạn
 
Dear mọi người

mình có một file dữ liệu , mình cần lọc dữ liệu theo điều kiện , thì có cách nào làm nhanh để khi mình nhập data và điều kiện sẽ ra kết quả nhanh được không ạ
mong mọi người giúp dùm , file mình đã đính kèm bên dưới
thank all

Tạo 1 ô P3 chọn cột cần lọc, P4 lọc cái quái gì thì gõ vào đó
và sau đó chạy code
Mã:
Sub LOCDAU()
Dim sArr(), dArr(), Dk1 As String, I As Long, K As Long, R As Long, Col As Long, a As Long
a = Application.Match(Range("p3"), Range("a2:n2"), 0) 'MATCH(P3,list,0)
Dk1 = Range("P4") ' loc cai gi
sArr = Range("A3:N447").Value ' DU LIEU DAU VAO
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 14) ' 3 COT
For I = 1 To R
    If sArr(I, a) = Dk1 Then ' DKIEN TUY CHINH Phan biet Text Hoa va Thuong
        K = K + 1
        For Col = 1 To 14 ' 3 COT
            dArr(K, Col) = sArr(I, Col)
        Next Col
    End If
Next I
' OUTPUT
On Error Resume Next
Range("R3:AE2700").ClearContents
Range("R3").Resize(K, 14) = dArr ' 3 COT
End Sub

1585446305601.png
 

File đính kèm

Tạo 1 ô P3 chọn cột cần lọc, P4 lọc cái quái gì thì gõ vào đó
và sau đó chạy code
Mã:
Sub LOCDAU()
Dim sArr(), dArr(), Dk1 As String, I As Long, K As Long, R As Long, Col As Long, a As Long
a = Application.Match(Range("p3"), Range("a2:n2"), 0) 'MATCH(P3,list,0)
Dk1 = Range("P4") ' loc cai gi
sArr = Range("A3:N447").Value ' DU LIEU DAU VAO
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 14) ' 3 COT
For I = 1 To R
    If sArr(I, a) = Dk1 Then ' DKIEN TUY CHINH Phan biet Text Hoa va Thuong
        K = K + 1
        For Col = 1 To 14 ' 3 COT
            dArr(K, Col) = sArr(I, Col)
        Next Col
    End If
Next I
' OUTPUT
On Error Resume Next
Range("R3:AE2700").ClearContents
Range("R3").Resize(K, 14) = dArr ' 3 COT
End Sub

View attachment 234263
hay quá , mà e muốn lọc nhiều mã thì thêm dữ liệu điều kiện lọc thui đúng ko a
 
hay quá , mà e muốn lọc nhiều mã thì thêm dữ liệu điều kiện lọc thui đúng ko a
Xem dòng màu đỏ tự hiểu nhen


Sub LOCDAU()
Dim sArr(), dArr(), Dk1 As String, I As Long, K As Long, R As Long, Col As Long, a As Long
a = Application.Match(Range("p3"), Range("a2:n2"), 0) 'MATCH(P3,list,0)
Dk1 = Range("P4") ' loc cai gi
sArr = Range("A3:N447").Value ' DU LIEU DAU VAO
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 14) ' 3 COT
For I = 1 To R
If sArr(I, a) = Dk1 or sArr(I, a) = X Then ' i Giử nguyên, A là Số cột, X là muốn lọc cái gì Ví dụ: sArr(I, 4) = "Feddy"
K = K + 1
For Col = 1 To 14 ' 3 COT
dArr(K, Col) = sArr(I, Col)
Next Col
End If
Next I
' OUTPUT
On Error Resume Next
Range("R3:AE2700").ClearContents
Range("R3").Resize(K, 14) = dArr ' 3 COT
End Sub
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom