Dùng Advanced Filter.Chào anh/chị,
Nhờ anh/chị giúp em mã code Lọc dữ liệu theo từng chi nhánh, từ ngày đến ngày của dữ liệu như trong file (em có file đính kèm theo).
Em cám ơn.
Chào anh/chị,
Nhờ anh/chị giúp em mã code Lọc dữ liệu theo từng chi nhánh, từ ngày đến ngày của dữ liệu như trong file (em có file đính kèm theo).
Em cám ơn.
Sorry, attach lộn file
Dù chọn C2 là gì thì trong cột B kết quả vẫn là "SGN".Đây là 1 trong cách giải dở nhất cho bạn tìm hiểu ...
Không làm được vì cấu trúc các sheet có tiêu đề cột không giống nhau, số cột không giống nhau.Thầy Ba Tê có thể chỉ giúp em thêm được không ạ, trường hợp em tách ra từng sheet chi nhánh riêng để nhập liệu, nhưng xem kết quả ở sheet Check, thầy có thể giúp em mã code được không ạ (em có kèm theo file).
Em cám ơn
Dù chọn C2 là gì thì trong cột B kết quả vẫn là "SGN".
Chưa kiểm tra kết quả các cột khác.
Dạ, em sẽ thiết kế lại các tiêu đề cột lại cho hợp lý theo Sheet kết quảKhông làm được vì cấu trúc các sheet có tiêu đề cột không giống nhau, số cột không giống nhau.
Sheet kết quả cấu trúc chẳng giống sheet nào.
Dạ, thầy Ba Tê em đã sửa lại cấu trúc tiêu đề đồng nhất hết ở các sheet, nhờ thầy chỉ giúp em code cho kết quả ở 2 sheet: Loc và TongHop (em có đính kèm file mới ạ)Không làm được vì cấu trúc các sheet có tiêu đề cột không giống nhau, số cột không giống nhau.
Sheet kết quả cấu trúc chẳng giống sheet nào.
Thầy Ba Tê giúp em với ạDạ, thầy Ba Tê em đã sửa lại cấu trúc tiêu đề đồng nhất hết ở các sheet, nhờ thầy chỉ giúp em code cho kết quả ở 2 sheet: Loc và TongHop (em có đính kèm file mới ạ)
Em cám ơn!
Sheet "TongHop" bạn phải nhập số cột cần lấy dữ liệu vào dòng 8. (Tôi đã nhập thử từ cột D đến I)Dạ, thầy Ba Tê em đã sửa lại cấu trúc tiêu đề đồng nhất hết ở các sheet, nhờ thầy chỉ giúp em code cho kết quả ở 2 sheet: Loc và TongHop (em có đính kèm file mới ạ)
Em cám ơn!
Dạ, em cám ơn thầy Ba Te nhiều ạSheet "TongHop" bạn phải nhập số cột cần lấy dữ liệu vào dòng 8. (Tôi đã nhập thử từ cột D đến I)
thưa thầy nếu cũng file đó mà em mún lọc theo người nộp hoặc phiếu thu hay phiếu chi thì em phải làm sao thưa thầy...em mún tạo 2 3 ô lọc phiếu thu chi, ngày , và người nộp thì làm sao thưa thầy mong thầy giúp em với dạ thank thầySheet "TongHop" bạn phải nhập số cột cần lấy dữ liệu vào dòng 8. (Tôi đã nhập thử từ cột D đến I)
Tiếc là tôi đọc không hiểu "mún" là gì, "thank" là gì.thưa thầy nếu cũng file đó mà em mún lọc theo người nộp hoặc phiếu thu hay phiếu chi thì em phải làm sao thưa thầy...em mún tạo 2 3 ô lọc phiếu thu chi, ngày , và người nộp thì làm sao thưa thầy mong thầy giúp em với dạ thank thầy
Bạn cứ làm thêm điều kiện nữa vào trong code là được mà.Code của bác Ba Tê là.Đầu tiên xác định điều kiện rồi so sánh điều kiện.Rồi lấy giá trị cho mảng mới.là được bạn xem.dạ đây thưa thầy: ý em là em mún thêm điều kiện lọc nữa ko phải chỉ có ngày ko, mà còn có người nộp, hay phiếu thu hay chi: em chỉ cần lọc trong những điều kiện đó ngoài điều kiện thời gian ra: dạ file đính kèm ở sheet lọc nhe thầy mong thầy chỉ giúp em
Public Sub Gpe_Loc()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Rws As Long, Col As Long, fDate As Long, eDate As Long, SName As String
SName = Range("C2").Value 'lay ten sheets can kiem tra
fDate = Range("C3").Value ' chon ngay nho nhat can kiem tra
eDate = Range("C4").Value 'chon ngày lon nhat can kiem tra
Col = 57
With Sheets(SName)
R = .Range("B60000").End(xlUp).Row 'chon dong cuoi cung o cot B
If R > 8 Then ' kiem tra dieu kien de lay mang
sArr = .Range("A9:A" & R).Resize(, Col).Value ' nap gia tri vao mang
Rws = UBound(sArr) 'xac dinh dong lon nhat trong mang
ReDim dArr(1 To R, 1 To Col) ' khai bao mang moi
For I = 1 To Rws 'vong lap de duyet qua cac gia tri trong mang
If sArr(I, 2) >= fDate Then 'so sanh gia tri cot thu 2 cua mang voi thoi gian nho nhat
If sArr(I, 2) <= eDate Then 'so sanh gia tri cot thu 2 cua mang voi thoi gian lon nhat
K = K + 1 'neu gia tri mang thoa man 2 dieu kien thi K se duoc tang them 1 gia tri
dArr(K, 1) = K 'gan vi tri thu nhat cua mang moi bang K (day la so thu tu cua mang)
For J = 2 To Col 'vong lap de lay cac gia tri con lai vao trong mang moi
dArr(K, J) = sArr(I, J) 'gan gia tri
Next J
End If
End If
Next I
End If
End With
Range("A9").Resize(1000, Col).ClearContents 'xoa gia tri cua mang can gan
If K Then Range("A9").Resize(K, Col) = dArr 'gan gia tri cua mang
End Sub
Viết Hoa những từ "quy định" là quy định từ cấp I.thank bạn để mình làm thử: code của bạn có chú giải lun quá tuyệt ^^ VBA với mình còn mới quá...heheh đợi đầu năm nay sách của thầy phan tự hướng tái bản mua về ngâm cứu mới được
Bạn ghi chú lại dòng lệnh này, xóa giá trị của mảng thì còn đâu mà xài.Range("A9").Resize(1000, Col).ClearContents 'xoa gia tri cua mang can gan