Nhờ các bạn giúp mình code lọc dữ liệu (2 người xem)

Liên hệ QC

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

mickeybh

Thành viên hoạt động
Tham gia
26/9/13
Bài viết
156
Được thích
33
Yêu cầu lọc và kết quả mình có ghi trong file attach.
Mong các bạn code giúp mình.
Cảm ơn các bạn!
 

File đính kèm

Yêu cầu lọc và kết quả mình có ghi trong file attach.
Mong các bạn code giúp mình.
Cảm ơn các bạn!

Bạn dùng sub "củ chuối" này xem sao nhé. Mà mình thấy CSDL của bạn không hợp lý lắm nên khi xử lý dữ liệu sẽ khó khăn hơn. bạn nên sắp xếp lại CSDL.

Thân.
 

File đính kèm

Upvote 0
Cảm ơn bạn, code chạy tốt lắm :D. Mình thấy nó cũng không hợp lý nhưng excel 2003 chỉ có 65536 dòng thì không đủ để đáp ứng dữ liệu 1 năm của mình nên mới "tối kiến" ra kiểu dữ liệu như vậy.
Các bạn cho mình hỏi:
Ở file ví dụ có tối đa 4 mặt hàng xuất đi, nếu nhiều hơn và cũng liên tục với cấu trúc như vậy thì mình chỉnh sửa code như thế nào?
Giữa cột ngày bán và mã thuốc (1) có 3 cột chèn giữa nữa thì phải sửa ở chổ nào?
Mong được giúp đỡ!
 
Upvote 0
Cảm ơn bạn, code chạy tốt lắm :D. Mình thấy nó cũng không hợp lý nhưng excel 2003 chỉ có 65536 dòng thì không đủ để đáp ứng dữ liệu 1 năm của mình nên mới "tối kiến" ra kiểu dữ liệu như vậy.
Các bạn cho mình hỏi:
Ở file ví dụ có tối đa 4 mặt hàng xuất đi, nếu nhiều hơn và cũng liên tục với cấu trúc như vậy thì mình chỉnh sửa code như thế nào?
Giữa cột ngày bán và mã thuốc (1) có 3 cột chèn giữa nữa thì phải sửa ở chổ nào?
Mong được giúp đỡ!

Bao nhiêu mặt hàng không quan trọng đâu bạn ạ. Quan trọng là cái cấu trúc file thật của bạn nó phải luôn giống như cấu trúc file này là được.

Giữa cột ngày bán và mã thuốc (1) có 3 cột chèn giữa nữa thì phải sửa ở chổ nào?

thì bạn sử chỗ này:

Mã:
For j = [COLOR=#ff0000]3[/COLOR] To UBound(SrcArr, 2) Step 5

Số 3 sửa thành số 6
 
Upvote 0
Cảm ơn! code của bạn hoạt động rất tốt.
Giờ được voi đòi luôn hai bà trưng luôn. Nếu có thể các bạn giúp mình chuyển kết quả lọc được add vào listbox với.

Trên form mình có 2 textbox,1listbox, textbox1: nhập khách hàng, sau khi gõ Khách hàng 1 vào, enter để chuyển sang textbox khác thì nó sẽ lọc ra kết quả như trên sheet kết quả nhưng kết quả này add vào listbox1 (cái này mình có thể dùng rowsource để chọn vùng kết quả ở trên sheet ketqua vào nhưng vẫn nhờ các bạn code để add vào listbox1 để mình có thể học hỏi thêm code từ các bạn).

Mong được các bạn giúp đỡ!
 

File đính kèm

Upvote 0
mình cũng có một file với yêu cầu kê s quả gần giồng vậy nhà các tiền bối xem qua, giúp đở.

các tiên bối xem file nén nhé kkets qur mình cần thể hiện như sheet 1
 

File đính kèm

Upvote 0
Cảm ơn! code của bạn hoạt động rất tốt.
Giờ được voi đòi luôn hai bà trưng luôn. Nếu có thể các bạn giúp mình chuyển kết quả lọc được add vào listbox với.

Trên form mình có 2 textbox,1listbox, textbox1: nhập khách hàng, sau khi gõ Khách hàng 1 vào, enter để chuyển sang textbox khác thì nó sẽ lọc ra kết quả như trên sheet kết quả nhưng kết quả này add vào listbox1 (cái này mình có thể dùng rowsource để chọn vùng kết quả ở trên sheet ketqua vào nhưng vẫn nhờ các bạn code để add vào listbox1 để mình có thể học hỏi thêm code từ các bạn).

Mong được các bạn giúp đỡ!

Mình nghĩ đại khái thế này (file đính kèm).

Nhưng gán cả mảng vào listbox nó cứ thế nào ấy (có nhiều dòng trống dưới danh sách).
Chắc phải tốn thêm vòng lặp thì mới chỉ lấy đúng cái danh sách cần được.
 

File đính kèm

Upvote 0
Mình nghĩ đại khái thế này (file đính kèm).

Nhưng gán cả mảng vào listbox nó cứ thế nào ấy (có nhiều dòng trống dưới danh sách).
Chắc phải tốn thêm vòng lặp thì mới chỉ lấy đúng cái danh sách cần được.
Đúng là có nhiều dòng trống dưới danh sách, hy vọng bạn có thể code thêm để lấy đúng danh sách cần được.
 
Upvote 0
Cám ơn bạn rất nhiều!
Giúp mình lọc từ ngày đến ngày trên sheet dùm mình luôn.
Bạn xem giúp mình kết quả mong muốn như bên sheet ketqua.
 

File đính kèm

Upvote 0

File đính kèm

Upvote 0
Đúng là có nhiều dòng trống dưới danh sách, hy vọng bạn có thể code thêm để lấy đúng danh sách cần được.
1. Không ai bố trí dữ liệu kiểu này
2. Dùng additem thì không có dòng trống, và code ngắn gọn nếu dữ liệu không quá nhiều

To Huonglanngoc

Xem mãi cũng chẳng hiểu bạn cần gì. Ai mà đọc được suy nghĩ của bạn chứ.
 
Lần chỉnh sửa cuối:
Upvote 0
1. Không ai bố trí dữ liệu kiểu này
2. Dùng additem thì không có dòng trống, và code ngắn gọn nếu dữ liệu không quá nhiều
1. Mình biết bố trí dữ liệu kiểu này rất là không hợp lý nhưng nếu dồn về cột thì với 1 người xuất 10 mặt hàng thì tốn 10 dòng? trong 1 năm có thể lên đến ~24.000 khách hàng (tương ứng với 240.000 dòng) thì số dòng excel 2003 không đủ để lưu dữ liệu cả năm. Hiện tại muốn đưa sang excel 2007 hoặc cao hơn nhưng chưa có thời gian thích hợp nên mong các bạn thông cảm.
2. Dữ liệu nằm rãi rác trong khoảng 24.000 dòng trở lại thôi.
 
Upvote 0
1. Mình biết bố trí dữ liệu kiểu này rất là không hợp lý nhưng nếu dồn về cột thì với 1 người xuất 10 mặt hàng thì tốn 10 dòng? trong 1 năm có thể lên đến ~24.000 khách hàng (tương ứng với 240.000 dòng) thì số dòng excel 2003 không đủ để lưu dữ liệu cả năm. Hiện tại muốn đưa sang excel 2007 hoặc cao hơn nhưng chưa có thời gian thích hợp nên mong các bạn thông cảm.
2. Dữ liệu nằm rãi rác trong khoảng 24.000 dòng trở lại thôi.
Bạn tham khảo cách mình thêm dữ liệu vào list
PHP:
Sub Loc()
Dim Sarr(), I, J, X, Y, Col, DkLoc
With Sheets("dulieu")
   Col = .[IV2].End(xlToLeft).Column - 1
   With .Range(.[B3], .[B6553].End(3))
      Sarr = .Resize(, Col - 1).Value
   End With
End With
DkLoc = UCase(UserForm1.TextBox1.Value)
UserForm1.ListBox1.Clear
For I = 1 To UBound(Sarr)
   If UCase(Sarr(I, 1)) = DkLoc Then
      For J = 6 To UBound(Sarr, 2) Step 5
         If Sarr(I, J) <> "" Then
            With UserForm1.ListBox1
               .AddItem
               Y = .ListCount - 1
               .List(Y, 0) = Sarr(I, 2)
               .List(Y, 1) = Sarr(I, J)
               For X = 2 To 5
                  .List(Y, X) = Sarr(I, J + X - 1)
               Next
            End With
         End If
      Next
   End If
Next
End Sub
 
Upvote 0

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

Back
Top Bottom