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...
Thế nên Microsoft đẻ ra thêm hàm CDbl.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.
Mỗi hàm có tính năng riêng. CLng là ép kiểu từ text, từ date thành số. Còn Int là lấy phần nguyên của 1 giá trị có kiểu số sẵn. Dùng qua dùng lại vẫn được nhưng khác tính năng giống như dùng cờ lê nhổ đinh và dùng búa đập đùng đùng để mở bù lon.Ồ. 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ú?
Ồ. 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ú?
Hàm Round của VBA khác Excel hình như anh nói 1 lần rồi (con số 5 ct)Trên bài #13 mới nói một đôi câu mà lão chết tiệt đã than rồi. Qua bài này chắc lão nhiêc tôi nhức óc.![]()
Cám ơn chú. Chú nói ở bài 13 nên cháu tò mò và test thử. Có lẽ nó đúng với 1 vài trường hợp. Sẽ lưu ý khi sử dụng. Chứ ban đầu cháu chỉ nghĩ là nó sẽ ép ngày tháng năm về dạng số thôi.Làm việc với các hàm chuyển/ép kiểu dữ liệu thì phải thử chúng trước. KHông nắm vững là dữ liệu sai.