P/s:nếu muốn làm combox để thực hiện lọc thì làm thế nào,. . .
Option Explicit
Sub AdvFilter()
Dim lRow As Long
Sheets("Sheet2").Select: lRow = [b65432].End(xlUp).Row
Range("B5:L" & lRow).Select
Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"R1:S2"), CopyToRange:=Range("R5:AB5"), Unique:=False
Range("w9").Select
End Sub
Việc lọc ko có vấn đề, cách đơn giãn nhất là Advanced Filter, tuy nhiên tôi thấy ngay khung điều kiện bạn nói nếu gõ THÁNG vào thì lọc dử liệu của tháng ấy, đúng ko? Thế nhưng bên phần nhập liệu lại vừa có năm 2007, vừa năm 2008... vậy tháng là tháng của năm nào đây?
E rằng phải gõ đầy đủ NGAY - THÁNG - NĂM mới ổn!
-------------
ah... còn nữa:
1> Bên sheet khoiluong có 2 danh sách, vậy lọc danh sách nào đây?
2> Cũng sheet khoiluong có đến mấy cột ngày, vậy nếu lọc theo ngày thì dựa vào cột ngày nào?
ANH TUẤN
cảm ơn anh đã giúp em nhưng :Xem thêm trong file đính kèm;
Bạn thử chọn Combo1 để lấy đơn vị; & sau khi chọn ngày tại Combo2 thì macro sẽ cho kết quả
Trả lời tiếp, nếu còn hỏi:
PHP:Option Explicit Sub AdvFilter() Dim lRow As Long Sheets("Sheet2").Select: lRow = [b65432].End(xlUp).Row Range("B5:L" & lRow).Select Selection.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "R1:S2"), CopyToRange:=Range("R5:AB5"), Unique:=False Range("w9").Select End Sub
Cái này quá dể luôn... nhớ ko lầm thì bạn ca_dafi vừa làm xong 1 file tương tự...vậy có thể thêm 1 cột năm được ko?còn nếu lọc theo ngày tháng năm em sợ ko lọc hết đc cái mình cần.Ví dụ em muốn lọc từ ngày 10/1/8 đến 31/1/8 thi lọc theo ngày tháng năm có lọc được ko?
1>bên sheet khoiluong có 2 danh sách ,e muốn lọc danh sách về bêtông(nếu a giúp em cả về sắt thì tốt quá)
2>Lọc dựa theo cột ngày đúc
Cảm ơn anh tuấn đã quan tâm
Mong nhận được sự hồi âm của anh.
em đánh ngày tháng vào bên báo cáo sao kết quả ko hiện ra vậy .?????Thôi... làm luôn cho bạn nhé!
Xem thử file này, tuy chưa phải là hay lắm...
File này dùng công thức, nhưng theo ý tôi thì nên dùng VBA kết hợp với Advanced Filter sẽ nhẹ nhàng hơn!
Bác Tuấn nhiệt tình với em quá,lúc nào Bác có ra HN em sẽ mời bác đi uống cafe để cảm ơn bác!Ghi chú thêm: Tôi đang ngồi ngoài dịch vụ, ko có font TCVN3 nên đã convert sang font Unicode vì chẳng đọc dc chử gì cả... Mặc khác tôi cũng rất ngứa mắt với loại font ABC này... Thông cảm nha! hi... hi...
ANH TUẤN
1> Gõ ngày vào mà ko hiện kết quả thì bạn hảy xem lại:em đánh ngày tháng vào bên báo cáo sao kết quả ko hiện ra vậy .?????
2> Cái này dể mà, sửa tí trong name là xong!nhân tiện em muốn hỏi nếu mình ko chọn tên đơn vị mà chỉ lọc theo ngay (tức là từ.......đến ngày.....)thì sẽ lọc tất cả các đơn vị có điều kiện thỏa mãn về ngày .
Nếu ko phiền anh tuấn có thể viết giúp tôi 1 VBA ko.
STT =IF(MDV1=Baocao!$P$4,ROW(INDIRECT("1:"&COUNTA(MDV1))),"")
STT =IF(Baocao!$C$3="",ROW(INDIRECT("1:"&COUNTA(MDV1))),IF(MDV1=Baocao!$P$4,ROW(INDIRECT("1:"&COUNTA(MDV1))),""))
Thí nghiệm thế này nhé:ma anh tuấn ơi,tại sao ở ô C3 của báo cáo em làm mãi mà ko hiện ra được list nhỉ,muốn tạo được như vậy thì làm thế nào vậy?
Cái này thì bạn phải nghiên cứu 2 hàm trướctại công thức của anh
=IF($A8="","",INDEX(DS,SMALL(STT,ROW(1:1)),B$7)) dịch ra có nghĩa là gì vậy
Dấu "" có nghĩa là trống rỗng.em còn 1 thắc mắc,tại công thức hay có ("") này là sao vậy?nếu đánh "" thì nó sẽ trả về giá trị nào
Ví dụ luôn công thức của anhtuan nhé
=If($A8="","",.............) vậy tại ô A8="" nó sẽ trả về giá trị nào và sau đó là 2 dấu ""