HỖ TRỢ VIẾT CODE VBA LỌC DỮ LIỆU NHIỀU ĐIỀU KIỆN TRONG BẢNG TÍNH

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Hi ACE hội GPE!
Mình có bảng dữ liệu excel đính kèm cần lọc nhiều điều kiện, mà không biết viết code như thế nào để lọc các điều kiện cho chạy được.
Nhờ ACE chỉ giúp.
Xin cảm ơn nhiều!
P/s: File đính kèm

Xem file nhé.
Cách dùng
Các ô màu vàng D3,D4,F3,F4 có thể nhập dữ liệu hoặc để trống
Nếu D3 trống: ngày bắt đầu là ngày nhỏ nhất
Nếu D4 trống: ngày kết thúc là ngày lớn nhất
F3,F4 có thể để trống, nếu không xét.
F4: có thể nhập ký tự đại diện (vd: Nhập "THỊ" thì lọc hết các tên có THỊ)
Code này đặt trong sheet module, bắt sự kiện thay đổi của 4 ô
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lr&, i&, rng, tmp(), bd As Double, kt As Double, mh, nv
Application.ScreenUpdating = False
If Intersect(Target, Range("D3,D4,F3,F4")) Is Nothing Then Exit Sub
Range("A7:A100000").EntireRow.Hidden = False
bd = Range("D3").Value2: kt = Range("D4").Value2
mh = Range("F3").Value: nv = Range("F4").Value
lr = Cells(Rows.Count, "B").End(xlUp).Row
rng = Range("A7:D" & lr).Value2
ReDim tmp(1 To UBound(rng), 1 To 1)
For i = 1 To UBound(rng)
If rng(i, 2) >= bd And rng(i, 2) <= IIf(kt = 0, 100 ^ 100, kt) And _
rng(i, 3) = IIf(mh = "", rng(i, 3), mh) And UCase(rng(i, 4)) Like IIf(nv = "", "*", "*" & UCase(nv) & "*") Then
tmp(i, 1) = rng(i, 1)
Else: tmp(i, 1) = ""
End If
Next
With Range("XX7")
.Resize(10000, 1).ClearContents
.Resize(UBound(rng), 1).Value = tmp
On Error Resume Next
.Resize(UBound(rng), 1).SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
.Resize(10000, 1).ClearContents
End With
Application.ScreenUpdating = True
End Sub

Cảm ơn bạn rất nhiều! code chạy nhanh mượt lắm.

www.giaiphapexcel.com/diendan/threads/h%E1%BB%96-tr%E1%BB%A2-vi%E1%BA%BEt-code-vba-l%E1%BB%8Cc-d%E1%BB%AE-li%E1%BB%86u-nhi%E1%BB%80u-%C4%90i%E1%BB%80u-ki%E1%BB%86n-trong-b%E1%BA%A2ng-t%C3%8Dnh.163984/

Ứng dụng AI và Chat GPT trong Quản trị nhân sự
Khóa học SprinGO phù hợp

Ứng dụng AI và Chat GPT trong Quản trị nhân sự

Học xong khóa này, học viên có thể: Hiểu đúng bản chất AI, các nhóm AI phổ biến và cách AI “hoạt động” ở...

Xem khóa học
★★★★★ 5 ★ 1 👤 1 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm