Giúp emvề so sánh thời gian trong VBA (2 người xem)

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

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

nvtnet

Thành viên thường trực
Tham gia
31/5/11
Bài viết
269
Được thích
15
em có một bảng dữ liệu và muốn trích lọc dữ liệu từ đó để làm báo cáo. em có 1 đoạn code thế này ạ
Sheet5.Range("F" & i) = WorksheetFunction.SumIfs(Sheet2.Range("NHAP_PHIEU[SO LUONG]"), Sheet2.Range("NHAP_PHIEU[MAT HANG]"), Sheet5.Range("D" & i), Sheet2.Range("NHAP_PHIEU[NGAY BAN]"), ">=" & CDate(sheet5.Range("M1")), Sheet2.Range("NHAP_PHIEU[NGAY BAN]"), "<=" & CDate(sheet5.Range("M2")))
" Code để tính tổng số lượng hàng đã bán theo tên mặt hằng từ ngày M1 đến ngày M2
sheet2 là cơ sở dữ liệu, sheet 5 là nơi làm báo cáo. M1, M2 là ô chứa khoảng thời gian cần làm báo cáo, i là biến vòng for để duyệt tên hàng.
Tuy nhiên nó không ra được kết quả. Em không hiểu phép so sánh ngày tháng trong VBA như vậy có sai chỗ nào không.
vấn đề nó chỉ nằm ở chỗ so sánh ngày tháng thôi ạ
Mong các bác chỉ giúp ạ
 
Thay cho ">=" & CDate(sheet5.Range("M1")) thì hãy thử 2 cách:

1. ">=" & CLng(sheet5.Range("M1")) hoặc tường minh ">=" & CLng(sheet5.Range("M1").Value)
2. ">=" & sheet5.Range("M1").Value2

Các nơi khác tương tự.
 
Dạ cảm ơn bác @batman1 ạ, cách 1 bị "đề bấp"; cách 2 chạy đúng ạ. không ngờ value và value2 khác nhau thật
Cảm ơn bác nhiều ạ
 
Web KT

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

Back
Top Bottom