Trích lọc dữ liệu tự động (4 người xem)

Liên hệ QC

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

nqkhanhô

Thành viên mới
Tham gia
5/1/13
Bài viết
2
Được thích
0
Nhờ các bác GPE giúp đỡ, em có bài toán Excel chưa giải guyết được.
Bảng tính có 4 sheet gồm HKI, HKII, CN và Khen thưởng (có file kèm theo).
Yêu cầu:
Lọc danh sách học sinh Giỏi và học sinh tiên tiến (cột T) kèm theo điểm TB, HL, HK, Danh hiệu từ sheet HKI, HKII và cả năm vào sheet Khen thưởng với điều kiện: Tại ô Khen thưởng!D2, nếu chọn HKI thì hiện danh sách khen thưởng HKI, nếu chọn HKII thì hiện danh sách khen thưởng HKII,....
Lưu ý: Khi dữ liệu nguyền thay đổi thì dữ liệu đích cùng tự động điều chỉnh theo.
 

File đính kèm

Nhờ các bác GPE giúp đỡ, em có bài toán Excel chưa giải guyết được.
Bảng tính có 4 sheet gồm HKI, HKII, CN và Khen thưởng (có file kèm theo).
Yêu cầu:
Lọc danh sách học sinh Giỏi và học sinh tiên tiến (cột T) kèm theo điểm TB, HL, HK, Danh hiệu từ sheet HKI, HKII và cả năm vào sheet Khen thưởng với điều kiện: Tại ô Khen thưởng!D2, nếu chọn HKI thì hiện danh sách khen thưởng HKI, nếu chọn HKII thì hiện danh sách khen thưởng HKII,....
Lưu ý: Khi dữ liệu nguyền thay đổi thì dữ liệu đích cùng tự động điều chỉnh theo.
Bạn muốn lọc nó bằng công thức hay bằng VBA ???
Thân
 
[Thongbao] concogia;466188:=" Bạn muốn lọc nó bằng công thức hay bằng VBA ???"
Chắc chàng Cò giờ chưa dậy đâu ta!
[/Thongbao]

Lọc về đúng BOX chàng Cò ơi! --=0 --=0 --=0

Đây là quà tặng cho chủ topic trước khi lên đường!

PHP:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 Dim Sh As Worksheet, Rng As Range
 Dim ShName As String
 Dim Col As Byte, Rws As Long
 
 If Not Intersect(Target, [D2]) Is Nothing Then
    If Right(Target, 1) = "m" Then
        ShName = "CN"
    Else
        ShName = "HK" & LTrim$(Right(Target.Value, 2))
    End If
    Set Sh = ThisWorkbook.Worksheets(ShName)
    Set Rng = Sh.[b4].CurrentRegion
    Col = Rng.Columns.Count:                    Rws = Rng.Rows.Count
    [b4].Resize(Rws, Col).Clear
    Sh.[B3].Resize(Rws, Col).AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sh.[AG1:AG3], CopyToRange:=Sh.[AA3:AE3], Unique:=False
    Sh.[AA4].CurrentRegion.Sort Key1:=Sh.[AE4], Order1:=xlAscending, _
        Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
    Sh.[aa5].CurrentRegion.Offset(1).Copy Destination:=[b4]
    
 End If
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn này có câu hỏi giống mình, Mình cũng đang gặp bài toán tương tự luôn. nhưng vẫn chưa biết cách làm. Làm bằng công thức thôi chứ VBA thì mình chịu
 
Nếu làm công thức bình thường thì phải làm sao nhỉ? Mình ko rành về VBA lắm.
 
Web KT

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

Back
Top Bottom