Mình không hiểu bạn ơi, vậy nên mình đang cần sự giúp đỡ mà. Thế nên mình với mò vào diễn đàn tìm những người nhiệt tình như bạn để học hỏi.
Bạn chỉ mình cách tạo marco lọc hoặc hướng dẫn mình lọc theo điều kiện trong lọc nâng cao ( Advanced Filter ) để lọc theo điều kiện và trả về đúng cột nhập - cột xuất
Tôi ghi chú từng câu lệnh trong code để bạn từ từ ngâm cứu nhé:
[GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [F2]) Is Nothing Then 'Nếu ô thay đổi là ô F2 thì làm việc
Dim Sh As Worksheet, Rng As Range, sRng As Range 'Khai báo biến
Dim MyAdd As String 'Khai báo biến
Set Sh = ThisWorkbook.Worksheets("NhatKy") 'Đặt cho biến Sh là sheet NhatKy (mục đích cho gọn dòng lệnh số 8)
[b8].Resize(13, 5).ClearContents 'Xóa dữ liệu vùng chứa kết quả
Set Rng = Sh.Range(Sh.[F6], Sh.[F6].End(xlDown)) 'Thiết lập biến Rng là vùng dữ liệu nguồn
Set sRng = Rng.Find(Target.Offset(1).Value, , xlValues, xlWhole) 'Tìm mã hàng (ô F3) trong vùng Rng và gán cho biến sRng
If Not sRng Is Nothing Then 'Nếu tìm thấy mã hàng thì làm các lệnh tiếp theo
MyAdd = sRng.Address 'Gán địa chỉ sRng cho biến MyAdd, mục đích cho biết đây là ô đầu tiên tìm thấy
Do 'Làm những việc sau
With [B21].End(xlUp).Offset(1) 'Câu lệnh With này nhằm làm việc với ô trống đầu tiên trong vùng chứa kết quả
.Value = sRng.Offset(, -4).Value 'Gán số chứng từ
.Offset(, 1).Value = sRng.Offset(, -2).Value 'Gán ngày NX'
.Offset(, 2).Value = sRng.Offset(, 2).Value 'Gán ĐVT'
If sRng.Offset(, -3).Value = "N" Then 'Nếu loại chứng từ là Nhập thì...
.Offset(, 3).Value = sRng.Offset(, 1).Value 'Gán cột Số lượng cho cột Nhập
Else 'Ngược lại (loại chứng từ là Xuất)
.Offset(, 4).Value = sRng.Offset(, 1).Value 'Gán cột Số lượng cho cột Xuất
End If 'Hết kiểm tra loại chứng từ
End With 'Làm việc xong với hàng dữ liệu mới nhập
Set sRng = Rng.FindNext(sRng) 'Tìm ô tiếp theo chứa mã hàng tại ô F3 và gán cho biến sRng
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd 'Lặp cho đến khi không tìm thấy nữa hoặc sRng là ô đầu tiên tìm thấy
Else 'Ngược lại (không tìm thấy mã hàng)...
MsgBox "Nothing" '... thì xuất hiện hộp thoại thông báo.
End If
End If
End Sub[/GPECODE]