Cập nhật Autofilter khi ô điều kiện thay đổi (1 người xem)

Liên hệ QC

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

Tham gia
17/9/12
Bài viết
1,351
Được thích
1,575
Giới tính
Nữ
E có một file tổng hợp và in phiếu nhập xuất kho như file đính kèm ạ. Em muốn khi Ô J2 tại Sheets Print của em thay đổi thì sheets này sẽ tự động thực hiện filter lại (Hiện tại em đang sử dụng một macro để Reapply nhưng như thế có vẻ hơi thủ công)
Mong các ACE giúp đỡ ạ. E xin chân thành cảm ơn!
 

File đính kèm

E có một file tổng hợp và in phiếu nhập xuất kho như file đính kèm ạ. Em muốn khi Ô J2 tại Sheets Print của em thay đổi thì sheets này sẽ tự động thực hiện filter lại (Hiện tại em đang sử dụng một macro để Reapply nhưng như thế có vẻ hơi thủ công)
Mong các ACE giúp đỡ ạ. E xin chân thành cảm ơn!
Bạn cho macro của bạn vào trong sự kiện worksheet_change Với target.adress = "$J$2" là đc, không cần dùng button loc.
Tại sheet Print
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$2" Then ActiveSheet.Range("$A$14:$K$28").AutoFilter Field:=2, Criteria1:="<>"
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn cho macro của bạn vào trong sự kiện worksheet_change Với target.adress = "$J$2" là đc, không cần dùng button loc.
Tại sheet Print
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$2" Then ActiveSheet.Range("$A$14:$K$28").AutoFilter Field:=2, Criteria1:="<>"
End Sub
E cảm ơn anh đã ghé qua giúp đỡ ạ
E thử vào file của em mà k đc ạ, hôm trc e thử cái này file em nằm im k thao tác gì đc nữa luôn, k biết tại sao
 
Upvote 0
Bạn cho macro của bạn vào trong sự kiện worksheet_change Với target.adress = "$J$2" là đc, không cần dùng button loc.
Tại sheet Print
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$J$2" Then ActiveSheet.Range("$A$14:$K$28").AutoFilter Field:=2, Criteria1:="<>"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$J$2" Then ActiveSheet.AutoFilter.ApplyFilter
End Sub

e sửa thế này thì đc ạ, cảm ơn anh
 
Upvote 0
Em k biết file của em có vấn đề hay dùng code này nó bị sao ý ạ. Hôm qua em có thử Worksheet_Change nhưng nó đơ y chang thế này ạ. Em tắt đi mở lại và nó cứ treo thế này, k làm gì đc nữa ạ. Mong các anh chị giúp đỡ thêm ạ
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
e sửa thế này thì đc ạ, cảm ơn anh

File của bạn mình chạy chẳng thấy vấn đề gì cả, có bị đơ hay như thế nào đâu nhỉ.
Bạn dùng ActiveSheet.AutoFilter.ApplyFilter sẽ không đúng lắm. Bạn test nhé.
Tại B14, filter bạn tích chọn all( cả balnk), sau đó thay đổi J2 là biết.
ActiveSheet.Range("$A$14:$K$28").AutoFilter Field:=2, Criteria1:="<>" dùng cái này sẽ hợp lý hơn, nhưng ko hiểu sao bạn bao lại ko dc.
 
Upvote 0
File của bạn mình chạy chẳng thấy vấn đề gì cả, có bị đơ hay như thế nào đâu nhỉ.
Bạn dùng ActiveSheet.AutoFilter.ApplyFilter sẽ không đúng lắm. Bạn test nhé.
Tại B14, filter bạn tích chọn all( cả balnk), sau đó thay đổi J2 là biết.
ActiveSheet.Range("$A$14:$K$28").AutoFilter Field:=2, Criteria1:="<>" dùng cái này sẽ hợp lý hơn, nhưng ko hiểu sao bạn bao lại ko dc.

Em cũng k biết tại sao nữa nhưng cứ mở file lên là nó chạy calculating nên k làm gì đc ạ, e thử lại vậy ạ, e cảm ơn!
 
Lần chỉnh sửa cuối:
Upvote 0
em làm trên office 2013 tại máy ở nhà thì chạy bình thường cả 2 dòng code trên ạ, có thể là do office hoặc do máy ở cơ quan bị lỗi ạ. hì
 
Upvote 0
Web KT

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

Back
Top Bottom