وقتی تد یک تاریخ را فقط با ماه و روز وارد می کند، یعنی 4/5، تاریخ 5 آوریل را نشان می دهد و فرمت اعداد سفارشی است. با این حال، هنگامی که او وارد 4/5/18 می شود، تاریخ 4/5/2018 را نشان می دهد و فرمت عدد Date است. تد تعجب می کند که چگونه می تواند تاریخ را برای قالب بندی به 4/5/2018 در حالی که فقط 4/5 را وارد می کند بدون نیاز به فرمت سلول ها به Date قبل از ورود خود، دریافت کند. به عبارت دیگر، او می خواهد تاریخ به طور پیش فرض روی Date باشد و نه Custom.
هیچ راهی برای انجام این کار در اکسل وجود ندارد. در این مورد، اکسل به عنوان بخشی از فرآیند تجزیه خود، قالب تاریخی را که فکر می کند در نظر داشتید بر اساس نحوه وارد کردن تاریخ انتخاب می کند. اگر می خواهید از قالب تاریخ دیگری استفاده کنید، باید ستون (یا سلول ها) را صریحاً برای استفاده از قالب تاریخ مورد نظرتان قبل از وارد کردن تاریخ قالب بندی کنید، یا باید ستون (یا سلول ها) را صریحاً پس از وارد کردن تاریخ، قالب بندی کنید.
یک راه حل مبتنی بر کلان وجود دارد، اما ممکن است کمی بیش از حد باشد. تنها کاری که باید انجام دهید این است که این کنترل کننده رویداد را به پنجره کد مربوط به کاربرگ اضافه کنید. (روی برگه کاربرگ راست کلیک کنید و View Code را از منوی زمینه ایجاد شده انتخاب کنید. این ماکرو کوتاه را در پنجره کدی که ظاهر می شود قرار دهید.)
Private Sub Worksheet_Change(ByVal Target As Range)
If IsDate(Target) Then
Target.NumberFormat = "m/d/yyyy"
End If
End Sub
ماکرو هرچه را که وارد یک سلول می کنید بررسی می کند، و اگر مشخص شود که یک تاریخ است (هدف تابع IsDate این است)، قالب تاریخ مورد نظر روی سلول اعمال می شود.
اشاره کردم که این ممکن است کمی زیاده روی باشد زیرا بدیهی است که باید ورک بوک را به عنوان یک ورک بوک با قابلیت ماکرو ذخیره کنید. با این حال، اگر این مشکلی برای استفاده شما از ورک بوک نیست، ممکن است نیازهای قالب بندی تاریخ شما را برطرف کند.