Murali دارای یک کاربرگ بزرگ است که شامل انواع فرمت های مختلف است. او می خواهد از قالب بندی شرطی برای برجسته کردن سلول های حاوی تاریخ استفاده کند. با این حال، او در مورد نحوه تنظیم قالب شرطی به درستی دچار مشکل است.
مشکل این است که اکسل تابع کاربرگ ندارد که نشان دهد سلول خاصی دارای تاریخ باشد یا نه. خوشبختانه VBA دارای چنین تابعی است، IsDate. این بدان معنی است که بسته به اینکه یک سلول دارای تاریخ باشد، می توانید یک تابع بسیار ساده تعریف شده توسط کاربر برای برگرداندن True یا False ایجاد کنید:
Function MyIsDate(rCell As Range)
MyIsDate = IsDate(rCell)
End Function
سپس می توانید به این تابع در یک قانون قالب بندی مشروط ارجاع دهید و قالب بندی را بر اساس نتایج تنظیم کنید. به یاد داشته باشید که اگر سلول حاوی تاریخ باشد، این تابع True را برمی گرداند. تاریخ های خاصی را بررسی نمی کند.
اگر به دلایلی نمی خواهید از یک ماکرو استفاده کنید، می توانید این راه حل کوچک ساده را امتحان کنید: یک قانون قالب بندی شرطی تنظیم کنید که بر نتایج یک فرمول متکی است. فرمول خاصی که باید استفاده کنید به شرح زیر است:
=LEFT(CELL("format",A1))="D"
فرمول کد قالب استفاده شده برای سلول را برمی گرداند. (در این مورد سلول A1 است. این را تغییر دهید تا سلولی را که واقعاً آزمایش می کنید منعکس کند.) اگر اولین کاراکتر کد قالب D باشد، فرمول True را برمی گرداند. اکسل از کدهای فرمت مختلفی استفاده می کند که با فرمت یک سلول به عنوان تاریخ با D شروع می شوند.