nvhieutk
Thành viên mới
- Tham gia
- 18/9/24
- Bài viết
- 6
- Được thích
- 0
Sửa tungay = ws.Range("D2").Valuenhờ các bác giúp em sao code tính sai kết quả (D48 có số liệu số tiền, B4:B8 có số liệu ngày):
WorksheetFunction.SumIfs(ws.Range("D48"), _
ws.Range("B4:B8"), ">=" & tungay, ws.Range("B4:B8"), "<=" & denngay)
Sửa tungay = ws.Range("D2").Value
thành tungay = CLng(ws.Range("D2").Value)
Tương tự là denngay
Ngoài cách dùng CLng, bạn có thể dùng .Value2:Nhân tiện hỏi thêm bác, Dữ liệu cùng kiểu (ngày/tháng/năm) sao thêm CLng lai được nhỉ?
- ngày/tháng/năm: là tiếng Việt.
Vừa sai vừa nhảm. Căn cứ vào cái gì để nói CLgn chuyển thành tiếng máy?- ngày/tháng/năm: là tiếng Việt.
- ...,.$%#: là tiếng Máy.
Clng là hàm để chuyển ngày và text thành dạng số. Điểm đặc biệt là VBA thường xét ngày có định dạng mm/dd/yyyy mới hợp lệ, không như Excel. Tuy vậy, ngày có bản chất là số nên chuyển về số cho cả 2 đều chấp nhận.Nhân tiện hỏi thêm bác, Dữ liệu cùng kiểu (ngày/tháng/năm) sao thêm CLng lai được nhỉ?
Thiếu 1 chữ "nguyên" mà bị xổ 1 tràng, may là không nói "chuyển thành tiếng máy"CLng sẽ ép kiểu ngày hoặc chuỗi text sang số nguyên.
Rất quan trọng bác ạ. Tôi thấy nhiều người lấy CLng rồi cỡ 20 dòng code sau lại vò đầu vì sao giờ cứ là 0:00.Thiếu 1 chữ "nguyên" mà bị xổ 1 tràng, may là không nói "chuyển thành tiếng máy"
Ồ. giờ cháu mới biết cái này nè. Nói như này thì thực tế có thể thay thế cho hàm Int được phải không chú?Lưu ý từ "số nguyên" có nghĩa là phần thập phân sẽ bị cắt bỏ. Dân chuyên VBA dùng tính chất này để cắt bỏ phần giờ phút trong biến kiểu Date. Ngày trong VBA và Excel là dạng số thực, phần nguyên là ngày tháng, phần thập phân là giờ phút...