نکات پیشرفته تاریخ شمسی اکسل در این آموزش بررسی خواهد شد و طبق نیاز شما عزیزان آپدیت می شود ، پیشنهاد می شود قبل از مشاهده این مطلب حتما تاریخ شمسی در اکسل را ببینید
فهرست محتوا
آپدیت خودکار تاریخ زمان باز شدن اکسل
می دانیم که یکی از ضعفهای این ماژولها و کلا این روش استفاده از تاریخ شمسی در اکسل این است که مثلا اگر شما از تابع dat() برای نمایش تاریخ روز در فایل خود استفاده کرده باشد ، اگر چند روز بعد فایل خود را باز کنید ، تاریخ متاسفانه به صورت خودکار بروز نمی شود و حتما باید دابل کلیک کنید تا تاریخ جدید نمایش داده شود.
برای حل این مشکل کافیست مراحل زیر را انجام دهید:
- با زدن کلیدهای Alt + F11 وارد کد نویسی شوید
- کدهای زیر را در قسمت کد نویسی قرار دهید .
Private Sub Workbook_Open() Application.CalculateFullRebuild End Sub
چگونه در فایل خود تقویم باز شونده داشته باشیم
در فایل دانلودی که انتهای این مطلب هم قرار داده شده یک فایل وجود دارد به نام frmCal.frm آن فایل را هم مشابه ماژولها به اکسل خود اضافه کنید و مراحل زیر را طی کنید.
- با زدن کلیدهای Alt + F11 وارد کد نویسی شوید
- شیت مورد نظر خود را انتخاب نمائید .
- در رویداد BeforeDoubleClick کدهای زیر را وارد نمائید.
Dim btn As MSForms.CommandButton Set btn = frmCal.Controls("CommandButton" & Rooz(Shamsi())) btn.BackColor = vbYellow frmCal.Caption = Matni(Shamsi()) frmCal.cbToday.Caption = Slash(Shamsi()) frmCal.Show
با قرار دادن کدهای بالا از این پس ، هر کجای شیت که دابل کلیک کنید ، فرم زیر باز می شود و می توانید انتخاب نمائید و این یکی از نکات پیشرفته تاریخ شمسی اکسل می باشد.
چگونه با دابل کلیک در محدوده ای خاص انتخابگر تاریخ باز شود
- فایل اکسل را باز کرده و ALT + F11 را بزنید
- وارد کد نویسی شده اید ، روی نام شیت مورد نظر دابل کلیک کنید.
- دو لیست پائین افتادنی بالا وجود دارد ، یک باید WorkSheet باشد و دیگری BeforeDoubleClick
- کدهای زیر را در آن قسمت مانند تصویر قرار دهید.
If Not Intersect(Target, Range("A3:A25, A29:A40, F3:F37, K3:K40, P3:P40")) Is Nothing Then Dim btn As MSForms.CommandButton Set btn = frmCal.Controls("CommandButton" & Rooz(Shamsi())) btn.BackColor = vbYellow frmCal.Caption = Matni(Shamsi()) frmCal.cbToday.Caption = Slash(Shamsi()) frmCal.Show End If
در کد بالاو خط اول آدرس سلولهایی نوشته شده است که دابل کلیک در آنها باعث باز شدن تفویم باز شونده در فایل شما می شود و شما می توانید آدرسها را به دلخواه تغییر دهید.
درج تاریخ روز به صورت خودکار بعد از هر تغییر
فرض می کنیم که فایل اکسلی دارید که اطلاعات را در ستون A آن وارد می کنید و می خواهید با هر بار تغییر در سلولهای ستون A تاریخ روز به صورت خودکار در ستون B متناظر درج شود که برای این منظور کافیست از نکات پیشرفته تاریخ شمسی اکسل استفاده کرده و مراحل ذیل را انجام دهید.
- وقتی در شیت مورد نظر هستید کلیدهای Alt +F11 را بزنید
- در قسمت کد نویسی روی شیت مورد نظر دابل کلیک کنید.
- در رویداد Worksheet_Change کدهای ذیل را وارد نمائید.
If Not Intersect(Target, Range("A2:A1000")) Is Nothing Then Range("B" & ActiveCell.Row - 1).Select ActiveCell.Value = Shamsi() End If
تغییر در ماژول و تغییر نام ماهها
امکان دارد شما بخواهید بخشهایی از ماژولهای تاریخ شمسی در اکسل را تغییر دهید که این کار به راحتی قابل انجام است و با توضیحاتی که در ویدیو ابتدای این مطلب آموزشی آمده است کار پیچیده ای نیست.
فرض می کنیم میخواهیم نام ماه بهمن را به سلواغه تغییر دهیم که در تصور زیر مطابق نام ماهها را در زبانهای مختلف می بنید ، برای این کار کافیست مراحل زیر را انجام دهید .
- با زدن Alt + F11 به کدنویسی بروید
- با زدن Ctrl + f پنجره جستجو را باز کنید .
- عبارت MahName را جستجو کنید.
- مطابق تصویر تابع مورد نطر را پیدا کنید .
- همانطور که می بییند 12 کیس در این تابع وجود دارد که مشخص کننده 12 ماه سال است .
- در اینجا ماه بهمن را نیاز داریم که می شود ماه 11 که در تصویر هم مشخص شده .
- عبارت روبروی Case مورد نظر را باید تغییر دهیم.
معادل حروف Unicode را چگونه بدست آوریم؟
در تصویر بالا می بنید که حروف قابل تشخیصی وارد نشده و از تابع ChrW استفاده شده تا در سیستمهای مختلف مشکل نمایش نداشته باشد و حروف به هم ریخته فارسی نمایش ندهد ، اما برای بدست آوردن معادل ChrW عبارت سلواغه که معادل بهمن ماه در پشتو افغانی می شود و از نکات پیشرفته تاریخ شمسی اکسل است باید مراحل زیر را انجام دهید.
- فایل OfficebazUnocode را در ادامه همین مطلب دانلود کنید.
- در باکسی که با اجرا برنامه نمایش داده می شود عبارت سلواغه را بنویسید.
- روی گزینه ایجاد یونیکد و کپی در حافظه موقت کلیک کنید.
- به ماژول شمسی برگردید و مقادری مقابل Case 11 در مرحله قبل را پاک کنید.
- متن کپی شده را Paste کنید.
- نتیجه مانند تصویر زیر خواهد شد.
تا ایجا چندین مورد از نکات پیشرفته تاریخ شمسی اکسل را عنوان کردیم و پیشنهاد می کنیم حتما ویدیو این مطلب را با دقیت ببیند و حتما ماژولهای تاریخ شمسی در اکسل را چک کنید که آپدیت جدید نداشته باشد و همواره جدیدترین ورژن را استفاده نمائید.
اگر چنانچه مطلب دیگر به ذهن شما می رسد که دراین آموزش به آن پرداخته نشده و باید در لیست نکات پیشرفته تاریخ شمسی اکسل قرار بگیرد حتمادر نظرات عنوان فرمائید.