Lọc số theo điều kiện (2 người xem)

Liên hệ QC

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

tranphuson

Thành viên thường trực
Tham gia
14/8/09
Bài viết
268
Được thích
10
Giới tính
Nam
Vui lòng giúp mình lọc điều kiện bằng VBA

Ví dụ: ở cột Z1 gõ vào số 5 (số này gõ tay và dò từ số gõ vào trở xuống) => thì sẽ tự động sort dữ liệu ở Cột I6 trong bảng dữ liệu (lấy số lượng từ 5 trở xuống) và sau đó hiện dữ liệu giống như copy từ cột C6:W dán ở Y6: AS

Xin cảm ơn
 

File đính kèm

Vui lòng giúp mình lọc điều kiện bằng VBA

Ví dụ: ở cột Z1 gõ vào số 5 (số này gõ tay và dò từ số gõ vào trở xuống) => thì sẽ tự động sort dữ liệu ở Cột I6 trong bảng dữ liệu (lấy số lượng từ 5 trở xuống) và sau đó hiện dữ liệu giống như copy từ cột C6:W dán ở Y6: AS

Xin cảm ơn
Nếu lọc thì thử code củ chuối này xem sao.
Mã:
Sub Loc()
Dim i&, j&, Lr&, c&, d&
Dim Arr(), KQ()
With Sheets("Data")
    Lr = .Cells(Rows.Count, 1).End(xlUp).Row
    Arr = .Range("C6:W" & Lr).Value
    d = UBound(Arr, 1): c = UBound(Arr, 2)
    ReDim KQ(1 To d, 1 To c)
    For i = 1 To d
        DK = Arr(i, 7)
        If DK = .Cells(1, 26).Value Or DK > .Cells(1, 26).Value Then
        t = t + 1
            For j = 1 To c
                KQ(t, j) = Arr(i, j)
            Next j
        End If
    Next i
If t Then
    .[Y6].Resize(1000, c).ClearContents
    .[Y6].Resize(t, c) = KQ
End If
End With
End Sub
nếu có thể bạn làm thêm code sự kiện thay đổi sheet_change ) ở ô Z1 thì sẽ được tẹ động. Mình tin là bạn làm được
 
Nếu lọc thì thử code củ chuối này xem sao.
Mã:
Sub Loc()
Dim i&, j&, Lr&, c&, d&
Dim Arr(), KQ()
With Sheets("Data")
    Lr = .Cells(Rows.Count, 1).End(xlUp).Row
    Arr = .Range("C6:W" & Lr).Value
    d = UBound(Arr, 1): c = UBound(Arr, 2)
    ReDim KQ(1 To d, 1 To c)
    For i = 1 To d
        DK = Arr(i, 7)
        If DK = .Cells(1, 26).Value Or DK > .Cells(1, 26).Value Then
        t = t + 1
            For j = 1 To c
                KQ(t, j) = Arr(i, j)
            Next j
        End If
    Next i
If t Then
    .[Y6].Resize(1000, c).ClearContents
    .[Y6].Resize(t, c) = KQ
End If
End With
End Sub
nếu có thể bạn làm thêm code sự kiện thay đổi sheet_change ) ở ô Z1 thì sẽ được tẹ động. Mình tin là bạn làm
Báo lỗi này vui lòng hỗ trợ
1631176402066.png
 

File đính kèm

Bạn thêm DK và ngay sau KQ(), là được mà. kiểu Dim Arr(),KQ(), DK
Mình đã bổ sung thêm khai báo DK - nhưng dữ liệu chạy ra không đúng yêu cầu
Đúng ra là khi gõ vào Z1 = 5 thì dữ liệu ở Cột AE sẽ lọc số lượng ở Cột I6 từ 5 trở xuống nhưng kết quả ở đây là số "chưa đúng" - Cảm ơn

1631177276184.png
 
Mình đã bổ sung thêm khai báo DK - nhưng dữ liệu chạy ra không đúng yêu cầu
Đúng ra là khi gõ vào Z1 = 5 thì dữ liệu ở Cột AE sẽ lọc số lượng ở Cột I6 từ 5 trở xuống nhưng kết quả ở đây là số "chưa đúng" - Cảm ơn

View attachment 265712
Có nghĩa là lọc ra những bản ghi nhỏ hơn 5 có phải không? nếu đúng là như vậy thì thay đổi dòng
If DK = .Cells(1, 26).Value Or DK > .Cells(1, 26).Value Then thành
If DK = .Cells(1, 26).Value Or DK < .Cells(1, 26).Value Then dấu > thành dấu < là được .
 
Có nghĩa là lọc ra những bản ghi nhỏ hơn 5 có phải không? nếu đúng là như vậy thì thay đổi dòng
If DK = .Cells(1, 26).Value Or DK > .Cells(1, 26).Value Then thành
If DK = .Cells(1, 26).Value Or DK < .Cells(1, 26).Value Then dấu > thành dấu < là được .
Cảm ơn bạn đã hỗ trợ
 
Web KT

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

Back
Top Bottom