Trích dữ liệu Lọc theo điều kiện

  • Thread starter Thread starter Billy
  • Ngày gửi Ngày gửi
Liên hệ QC

Billy

Thành viên mới
Tham gia
16/12/08
Bài viết
3
Được thích
0
Chào các bạn

Tôi gửi các bạn file đính kèm để nhờ các bạn giúp với các yêu cầu như sau:

- Lập Macro để trích các record từ Sheet: DATA thỏa mãn các điều kiện trong Sheet : RESULT

- Điều kiện trong Sheet RESULT:

Acc.No được dựa theo cột B trong Sheet DATA
Ngày Bắt đầu & Ngày Kết thúc: dựa theo cột D trong DATA

Mong các Bạn chỉ giáp cho. Cám ơn các bạn rất nhiều

Billy
 

File đính kèm

Chào các bạn

Tôi gửi các bạn file đính kèm để nhờ các bạn giúp với các yêu cầu như sau:

- Lập Macro để trích các record từ Sheet: DATA thỏa mãn các điều kiện trong Sheet : RESULT

- Điều kiện trong Sheet RESULT:

Acc.No được dựa theo cột B trong Sheet DATA
Ngày Bắt đầu & Ngày Kết thúc: dựa theo cột D trong DATA

Mong các Bạn chỉ giáp cho. Cám ơn các bạn rất nhiều

Billy

Bạn dùng Advanced Filter mà lọc. Xem File đính kèm. Tôi giữ nguyên những gì mà macro đã ghi lại để bạn hiểu
Thân
 

File đính kèm

Bạn dùng Advanced Filter mà lọc. Xem File đính kèm. Tôi giữ nguyên những gì mà macro đã ghi lại để bạn hiểu
Thân
Bài này dùng AutoFilter nhanh gọn hơn và không cần phải dùng đến vùng điều kiện
Xem code này:
PHP:
Sub Loc()
  Dim Sh As Worksheet
  Set Sh = Sheets("Result")
  Sh.Range("A6:D1000").ClearContents
  With Sheets("Data").Range("A1").CurrentRegion
    .AutoFilter 2, Sheet2.[D1]
    .AutoFilter 4, ">=" & CDbl(Sh.[D2]), xlAnd, "<=" & CDbl(Sh.[D3])
    .Offset(1, 6).Resize(, 4).SpecialCells(12).Copy
    Sh.Range("A6").PasteSpecial 3
    .AutoFilter
  End With
End Sub
 
Nhờ bạn giải thích cho mình CDbl trong code trên với.
Bạn bôi đên chử CDbl rồi F1 sẽ có hướng dẩn:

attachment.php


Như có lần tôi đã nói (chắc bạn quên)... rằng: Khi dùng AutoFilter với dử liệu ngày tháng, hãy thuộc lòng câu CDbl(Cell chứa ngày tháng) ---> Nếu không làm vậy có khi nó cóc ra kết quả
Nói chung: CDbl(dử liệu) dùng để chuyển kiểu dử liệu sang dạng Double
Thế thôi
Với code trên, có thể thay
CDbl(Sh.[D2]), xlAnd, "<=" & CDbl(Sh.[D3])
thành:
CLng(Sh.[D2]), xlAnd, "<=" & CLng(Sh.[D3])
hay
CDate(Sh.[D2]), xlAnd, "<=" & CDate(Sh.[D3])
cũng không có vấn đề
Thậm chí với file này ta bỏ luôn mấy cái CDbl ấy đi nó vẫn ra kết quả!
Sh.[D2], xlAnd, "<=" & Sh.[D3]
Tuy nhiên như tôi đã nói, AutoFilter với dử liệu ngày tháng khá khó chịu... Ai biết nó trở chứng khi nào... Nên chắc bắp cứ đưa CDbl vào cũng chẳng hề thừa
 

File đính kèm

  • untitled.JPG
    untitled.JPG
    86.6 KB · Đọc: 645
Thậm chí với file này ta bỏ luôn mấy cái CDbl ấy đi nó vẫn ra kết quả!
Sh.[D2], xlAnd, "<=" & Sh.[D3]
Tuy nhiên như tôi đã nói, AutoFilter với dử liệu ngày tháng khá khó chịu... Ai biết nó trở chứng khi nào... Nên chắc bắp cứ đưa CDbl vào cũng chẳng hề thừa

Quá chắc, vì trong file đã nhập SL ngày, thì nó sẽ là chắc chắn Dữ liệu ngày anh ah,

không nên làm khó thế?
 
Quá chắc, vì trong file đã nhập SL ngày, thì nó sẽ là chắc chắn Dữ liệu ngày anh ah,

không nên làm khó thế?
Chưa chắc đâu!
Thử bỏ CDbl rồi chạy file trên máy có định dạng dd/mm/yyyy trong Control Panel xem!
Nó mà ra được kết quả... mới ghê!
Chính vì vậy mà khi dùng AutoFilter vói dử liệu ngày tháng, tôi luôn cho CDbl vào... và đã trở thành thói quen (cảm thấy không thừa)
 
Chưa chắc đâu!
Thử bỏ CDbl rồi chạy file trên máy có định dạng dd/mm/yyyy trong Control Panel xem!
Chắc chắn là không ra kết quả. Vấn đề này em cũng đã tìm kiếm bấy lâu nay, hôm nay mới được giải quyết, cám ơn anh nhiều (Phải chi còn nhiều nút Cám ơn nhỉ :-=)
 
Lần chỉnh sửa cuối:
Chào các bạn

Mình gửi các bạn file đính kèm để nhờ các bạn giúp với các yêu cầu như sau:

- Lập Macro để trích các record từ Sheet: Data thỏa mãn các điều kiện trong Sheet : Result

Cảm ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom