Ví dụ Ô A1 = 01/01/2009 8:09:10 AM
=TEXT(A1,"dd/mm/yyyy") = 01/01/2009
Làm kiểu này thì hết đường tính toán với cái kết quả, vì khi đó kết quả là dạng Text, không còn là dạng ngày tháng năm nữa.
Có hai vấn đề cần quan tâm: "thấy" và "lấy"
Nếu như các giá trị ban đầu theo đúng quy tắc dd/mm/yyyy hh:mm:ss, và nếu muốn chỉ "thấy" phần ngày, "không thấy" phần giờ (nghĩa là chúng vẫn có đó nhưng không thấy), thì chỉ cần Format Cell lại theo dạng ngày tháng năm (dd/mm/yyyy), chẳng cần công thức gì hết.
Còn nếu muốn chỉ "lấy" phần ngày, bỏ hẳn cái phần giờ đi, và vẫn tính toán được, thì dùng hàm INT() và Format cho ô chứa kết quả với dạng ngày tháng năm.
=INT(A1)
Xin nói thêm, hàm INT() không hẳn là phần giờ đi đâu, mà chỉ xóa giá trị giờ hiện có, và thay vào đó cái giá trị 12:00:00 AM.
----------------------------------------------------
rosy84 đã viết:
Em thử làm rồi nhưng không dùng hàm text trong macro được, mà bài của em thì có rất nhiều ngày tháng, mà lại muốn so sánh với nhau, nhưng không quan tâm tới hh:mm:ss thế em mới cần 1 macro để chạy tự động, em làm macro bằng hàm left nhưng chạy thì lúc thừa lúc thiếu. Các anh giúp em với!!! thanks
Trong VBA, người ta không dùng hàm TEXT, mà dùng hàm FORMAT. Ví dụ:
- công thức ở công thức Excel: =TEXT(ABC, "dd/mm/yyyy")
- thì trong VBA dùng cái này: =Format(ABC, "dd/mm/yyyy")
với ABC là cái giá trị ngày tháng + giờ cần chuyển đổi.