Murali có một trang tính lớn chứa nhiều định dạng khác nhau. Anh ấy muốn sử dụng định dạng có điều kiện để đánh dấu các ô chứa ngày tháng. Tuy nhiên, anh ấy đang lúng túng về cách thiết lập định dạng có điều kiện một cách chính xác.

Vấn đề là Excel không có hàm trang tính trả về việc một ô cụ thể có chứa ngày tháng hay không. May mắn thay, VBA bao gồm một chức năng như vậy, IsDate. Điều này có nghĩa là bạn có thể tạo một hàm rất đơn giản do người dùng định nghĩa để trả về True hoặc False, tùy thuộc vào việc một ô có chứa ngày tháng hay không:

Function MyIsDate(rCell As Range)

MyIsDate = IsDate(rCell)

End Function

Sau đó, bạn có thể tham chiếu hàm này theo quy tắc định dạng có điều kiện và điều chỉnh định dạng dựa trên kết quả. Hãy nhớ rằng hàm này trả về True nếu ô chứa bất kỳ ngày nào; nó không kiểm tra các ngày cụ thể.

Nếu vì một lý do nào đó, bạn không muốn sử dụng macro, bạn có thể thử cách giải quyết nhỏ gọn này: Thiết lập quy tắc định dạng có điều kiện dựa trên kết quả của công thức. Công thức cụ thể bạn nên sử dụng như sau:

=LEFT(CELL("format",A1))="D"

Công thức trả về mã định dạng được sử dụng cho ô. (Trong trường hợp này, ô là A1. Thay đổi điều này để phản ánh ô bạn thực sự đang kiểm tra.)

Nếu ký tự đầu tiên của mã định dạng là D, thì công thức trả về giá trị True. Excel sử dụng các mã định dạng khác nhau bắt đầu bằng D khi bạn định dạng một ô dưới dạng ngày tháng.

_Lưu ý: _

Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.

ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.

Mẹo này (11817) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365.