Cảm ơn anh!Hongvan xem lại đoan code chỗ này:
.AutoFilter Field:=1, Criteria1:="<>"
' .AutoFilter '<- bỏ đi xem thế nào?
With Sheet2.Range("A11:J23")
Chính xác là vầy:Cảm ơn anh!
Em đã sửa lại code, nhưng vẫn còn một số điểm sau:
1/ Em chỉnh sửa đọan
Để nó hiện dòng 23 (là dòng "CỘNG"), nhưng sau khi Filter nó vẫn che mất dòng này!PHP:With Sheet2.Range("A11:J23")
2/ Em muốn sau khi Filter thì những dấu tam giác ngược BIẾN MẤT.
Mong anh và mọi người giúp em!
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$G$4" Then
Range("A11:A22").AutoFilter 1, "<>", , , False
End If
End Sub
Chính xác là vầy:
Ngoài ra để dòng CỘNG không bị che mất, bạn nên chuyển nó xuống dòng 24 (tức cách 1 dòng so với dữ liệu mà ta Filter)PHP:Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Address = "$G$4" Then Range("A11:A22").AutoFilter 1, "<>", , , False End If End Sub
Bạn không chịu đọc kỹ gì cả!Em cảm ơn Thầy & các anh chị!
Sau khi chép code & thực hiện thay đổi Range("A11:A22") thành Range("A11:A24") thì code vẫn ẩn dòng A23 (Dòng cộng), Em cũng test lại trên máy tính khác thì vẫn bị lỗi như vậy.
Mặt khác, khi em mở song hành File này và một File có code cũng dùng Filter (dùng nút "Lọc", "Không lọc" của thầy trên diễn đàn) và một một số đọan code khác thì File (đính kèm) KHÔNG CHỊU LỌC NỮA!?
Thầy có thể cho em biết khi ta mở nhiều File có Macro thì các File có ảnh hưởng gì đến lẫn nhau không? & thầy test lại giùm em File đính kèm.
Em cảm ơn.
----------
Ta cũng có thể để chữ "CỘNG" ở Cell A23 thì nó không ẩn dòng! nhưng em muốn biết nguyên nhân.
Bạn không chịu đọc kỹ gì cả!
- Tôi nói là dời dòng CỘNG xuống dưới dữ liệu 1 dòng (tức từ dòng 23, dời dòng CỘNG xuống dòng 24... Vậy giữa dòng CỘNG và dữ liệu sẽ cách nhau 1 dòng rổng)
- Còn bạn lại đi sửa code : A1:A22 đi sửa thành A1:A24
Hic...
Thôi thì dùng cách này đi cho dễEm cảm ơn Thầy!
Sau khi dời dòng cộng xuống dòng 24, khi chạy code nó không ẩn dòng 23 (dòng rỗng)!!!
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$G$4" Then
Range("A11:A2[COLOR=#ff0000][B]3[/B][/COLOR]").AutoFilter 1, "<>", , , False
End If
End Sub
Anh NDU ơi vui lòng giải thich giúp cú pháp False trong code của anh viết có ý nghĩa thế nào vậy? Cảm ơn anh.
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Cells.AutoFilter
If Target.Address = "$G$4" Then _
Range("a11:a" & Cells.Find("*", , , 1, 1, 2).Row - 1).AutoFilter 1, "<>", , , False
End Sub