Lọc dữ liệu theo hai điều kiện gắn vào listbox

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

yeudoi

Thành viên gắn bó
Thành viên BQT
Moderator
Tham gia
12/6/06
Bài viết
3,184
Được thích
7,633
Mình tải được file này, nhưng khi chuyển cột đầu thành ngày thì lọc không được không biết khai báo ngày như thế nào mình đã khai báo rồi mà vẫn không lọc được. Nhờ mọi người xem giúp

Sao không thấy ai trả lời vậy kìa
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Sao không thấy ai trả lời vậy kìa
Kỳ lạ thật! Tôi có xem qua file này nhưng vẩn không phát hiện được nó sai chổ nào (trình độ kém quá)
Trong khi tôi tạo 1 file mới và test thì mọi thứ bình thường
Bạn thử bỏ các đoạn bẩy lổi đi rồi chạy code, như vậy mới biết được code báo lổi chổ nào mà sửa chứ (tôi thấy có báo lổi đấy, nhưng không biết sửa)
 
Upvote 0
Thì tự mình làm lấy vừa nhanh vừa chủ động, làm sao phải lệ thuộc, trong khi mình không rõ ý đồ lọc của họ.
Mình thấy nó vẫn lọc bình thường đấy chứ.
 
Upvote 0
Lọc

Mình tải được file này, nhưng khi chuyển cột đầu thành ngày thì lọc không được không biết khai báo ngày như thế nào mình đã khai báo rồi mà vẫn không lọc được. Nhờ mọi người xem giúp

Do phép kiểm tra dữ liệu nên đã báo lỗi. Khi chuyển cột 1 sang kiểu ngày thì làm cho hàm Add của đối tượng Collection luôn sai. Cụ thể, ở thủ tục khởi tạo form:
Mã:
Private Sub UserForm_Initialize()
aRow = IIf(IsEmpty(Range("A65536")), Range("A65536").End(xlUp).Row, 65536)
On Error Resume Next
ComboBox1.AddItem "alle"
For iRow = 2 To aRow
    col.Add Cells(iRow, 1), [COLOR=red][B]CStr[/B][/COLOR](Cells(iRow, 1))
    If Err = 0 Then
        ComboBox1.AddItem Cells(iRow, 1)
    Else
        Err.Clear
    End If
Next iRow
ComboBox2.AddItem "alle"
For iRow = 2 To aRow
    col.Add Cells(iRow, 2), [COLOR=red][B]CStr[/B][/COLOR](Cells(iRow, 2))
    If Err = 0 Then
        ComboBox2.AddItem Cells(iRow, 2)
    Else
        Err.Clear
    End If
Next iRow
On Error GoTo 0
End Sub

đối số thứ hai của hàm Add có kiểu chuỗi, nên tôi dùng hàm CStr để chuyển.
Ngoài ra, trong tất cả các phép so sánh, tôi cũng đã dùng hàm CStr để chuyển đồng thời 2 vế về cùng kiểu chuỗi trước khi so sánh.

Trong chương trình lọc này, các hộp ComboBox không lọc ra các giá trị duy nhất tương ứng, cho nên khi chọn phải chú ý vì sẽ có trường hợp không lọc được ở ListBox.

Tôi gửi lại file sau khi đã có 1 ít hiệu chỉnh để có thể chạy được.
Nhưng cũng nói thêm, dạng lọc 2 điều kiện này tôi thấy các anh ở trên GPE có rất nhiều và có khi còn tốt hơn cả đoạn code này.

Thân!
 

File đính kèm

Upvote 0
Mình lọc theo củ chuối nên thường dùng Advance nhưng thấy cài này thì tìm hiểu thử nhưng không tìm ra lỗi
 
Upvote 0
Web KT

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

Back
Top Bottom