MrPi
Thành viên hoạt động



- Tham gia
- 14/12/08
- Bài viết
- 102
- Được thích
- 46






Xin các anh chị giúp đỡ: Tôi có 1 bảng cán bộ nhân viên cơ quan, trên dòng tiêu đề: DANH SÁCH CÁN BỘ PHÒNG:
Tôi muốn khi sử dụng lọc tự động trên cột Phòng thì giá trị Phòng sẽ hiển thị trên ô C2 như hình vẽ và file đính kèm. Xin cảm ơn các anh chị em đã quan tâm giúp đỡ.
View attachment 161915
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$2" Then Range("$C$4:$C$" & Range("B" & Rows.Count).End(3).Row).AutoFilter Field:=1, Criteria1:=Cells(2, 3)
End Sub



Sorry bạn, mình hiểu ngược ý bạn.Bạn ơi xem hay hướng dẫn lại chút, sao tôi thấy code này không hoạt động gì cả vậy?
Function FilterCrit(Rng As Range) As String
Dim Filter As String
Filter = "{All}"
Application.Volatile
With Rng.Parent.AutoFilter
If Intersect(Rng, .Range) Is Nothing Then GoTo Finish
With .Filters(Rng.Column - .Range.Column + 1)
If Not .On Then GoTo Finish
Filter = .Criteria1
Select Case .Operator
Case xlAnd
Filter = Filter & " AND " & .Criteria2
Case xlOr
Filter = Filter & " OR " & .Criteria2
End Select
End With
End With
Finish:
FilterCrit = Replace(Filter, "=", "")
End Function