اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل – معرفی و آموزش استفاده

۳۲۳ بازدید
آخرین به‌روزرسانی: ۲۶ دی ۱۴۰۳
زمان مطالعه: ۱۱ دقیقه
دانلود PDF مقاله
اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل – معرفی و آموزش استفادهاکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل – معرفی و آموزش استفاده

افزونه یا اکستنشن تبدیل تاریخ میلادی به خورشیدی در اکسل، یک برنامه کمکی برای اضافه کردن قابلیت نمایش تاریخ‌های میلادی به صورت تاریخ‌های خورشیدی است. فرض کنید در حال کار بر روی یک فایل اکسل با تاریخ‌های میلادی هستید و می‌خواهید داده‌های این فایل را به منظور تهیه یک گزارش فارسی مورد استفاده قرار دهید. در این شرایط، اگر نسخه اکسل شما ۲۰۱۶ یا جدیدتر باشد، با مشکل خاصی مواجه نمی‌شوید اما اگر نسخه اکسل شما ۲۰۱۳ یا قدیمی‌تر باشد، باید به سراغ روش‌هایی نظیر فرمول‌نویسی یا نصب اکستنشن بروید. در این مطلب از مجله فرادرس، قصد داریم به معرفی و آموزش استفاده از افزونه یا اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل بپردازیم.

997696

به منظور آموزش کار با افزونه تبدیل تاریخ میلادی به خورشیدی، ابتدا مفهوم اکستنشن در نرم‌افزار اکسل را تعریف می‌کنیم. سپس، نیاز یا عدم نیاز شما به اکستنشن تبدیل تاریخ میلادی به خورشیدی در اکسل را مورد بررسی قرار می‌دهیم. پس از آن، ضمن ارائه لینک دانلود اکستنشن فارسی‌تولز، به توضیح مراحل نصب تا استفاده از این اکستنشن می‌پردازیم. در ادامه، یک یک اکستنشن کامل‌تر با قابلیت‌های بیشتر را معرفی می‌کنیم. سپس، ضمن مرور نحوه تنظیم نمایش فارسی اعداد تاریخ، نحوه ساخت یک اکستنشن ساده را آموزش می‌دهیم. در نهایت، به توضیح سریع مراحل تبدیل تاریخ میلادی به خورشیدی بدون اکستنشن (در اکسل ۲۰۱۶ یا جدیدتر) می‌پردازیم.

اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل چیست؟

افزونه یا «اکستنشن» (Extension)، یک برنامه نرم‌افزاری کوچک و تکمیلی است که قابلیت‌های برنامه اصلی را بهبود می‌بخشد. به عنوان مثال، در اکسل نسخه ۲۰۱۳ و نسخه‌های قدیمی‌تر، امکان تبدیل مستقیم تاریخ میلادی به خورشیدی وجود ندارد. با این وجود، شما می‌توانید با نصب یک اکستنشن، این قابلیت را به اکسل خود اضافه کنید. البته شاید شما اصلا به این اکستنشن نیازی نداشته باشید.

آیا برای تبدیل تاریخ میلادی به خورشیدی در اکسل به اکستنشن نیاز داریم؟

برای اینکه بدانید آیا جهت تبدیل تاریخ میلادی به تاریخ خورشیدی در اکسل، به افزونه یا اکستنشن خاصی نیاز دارید یا خیر، باید به نسخه نرم‌افزار خود نگاه کنید.

در صورت استفاده از نسخه ۲۰۱۶ یا نسخه‌های جدیدتر اکسل، نیازی به نصب اکستنشن تبدیل تاریخ نیست. اگر از نسخه دقیق اکسل خود اطلاعی ندارید، از قسمت بالا-چپ در صفحه اصلی، بر روی «File» کلیک کنید.

محل قرارگیری دکمه File در اکسل

پس از کلیک بر روی File، صفحه‌ای با یک منوی کناری مشابه تصویر زیر به نمایش درمی‌آید.

گزینه های منوی File در اکسل

با کلیک بر روی گزینه «Account» در منوی کناری صفحه File، اطلاعات مربوط به نسخه اکسل در سمت راست صفحه نشان داده می‌شود. به عنوان مثال در تصویر زیر، نسخه اکسل نصب شده بر روی سیستم ما، ۲۰۲۱ است.

اطلاعات نسخه اکسل

اگر نسخه نصب شده بر روی سیستم شما نیز ۲۰۱۶ یا جدیدتر بود، به انتهای مطلب بروید. در انتهای مطلب، یک روش ساده و سریع را برای تبدیل تاریخ میلادی به خورشیدی در اکسل، بدون نیاز به اکستنشن آموزش داده‌ایم. در غیراینصورت، با مطالعه بخش بعدی همراه ما باشید.

تبدیل تاریخ میلادی به خورشیدی با اکستنشن فارسی‌تولز

تبدیل تاریخ میلادی به خورشیدی با اکستنشن «فارسی‌تولز» (FarsiTools)، کار نسبتا ساده‌ای است. البته فرآیند نصب اکستنشن، شاید برای کاربران مبتدی کمی پیچیده به نظر برسد. در این بخش، این فرآیند را به زبان ساده و به صورت گام به گام و تصویری توضیح می‌دهیم.

دانلود اکستنشن فارسی‌تولز برای تبدیل تاریخ میلادی به خورشیدی در اکسل

به منظور شروع نصب اکستنشن فارسی‌تولز برای تبدیل تاریخ میلادی به خورشیدی اکسل، ابتدا آن را توسط لینک زیر دانلود کنید:

  • دانلود اکستنشن فارسی‌تولز برای تبدیل تاریخ میلادی به خورشیدی (+)

اکستنشن فارسی‌تولز، از قابلیت‌هایی نظیر تبدیل تاریخ میلادی به خورشیدی، تبدیل تاریخ خورشیدی به میلادی و تبدیل عدد به حروف فارسی بهره می‌برد. البته اگر به دنبال عملکردهای بیشتری مانند نمایش تاریخ خورشیدی روز فعلی، محاسبه فاصله بین دو تاریخ خورشیدی و غیره هستید، کار با یک اکستنشن کامل‌تر را نیز توضیح خواهیم داد.

خارج کردن افزونه فارسی‌تولز از حالت فشرده

فایل‌هایی که برای دانلود در اختیار شما قرار می‌دهیم، دارای فرمت فشرده‌سازی Zip هستند. بنابراین، پیش از نصب افزونه تبدیل تاریخ میلادی به خورشیدی، باید با استفاده از روش‌های استخراج فایل‌های فشرده، آن‌ها را از حالت فشرده خارج کنید.

فایل استخراج شده اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل

اکستنش‌های اکسل معمولا دارای فرمت «xla» یا «xlam» هستند. البته امکان مواجهه با اکستنش‌های دارای فرمت «xll» یا «xlsb» نیز وجود دارد. فرمت اکستنشن فارسی‌تولز، xla است.

نصب افزونه فارسی‌تولز برای تبدیل تاریخ میلادی به خورشیدی در اکسل

برای شروع نصب، فایل اکستنشن را باز کنید. با توجه به تنظیمات امنیتی اکسل شما، امکان مواجهه با پیغامی مشابه تصویر زیر وجود دارد. البته جای نگرانی نیست. در بخش‌های بعدی، نحوه غیرفعال کردن این پیغام را توضیح می‌دهیم.

اخطار فعال‌سازی ماکرو در اکسل

برای ادامه، بر روی «Enable Macros» کلیک کنید تا قابلیت ماکرونویسی در اکسل برای این اکستنشن فعال شود. اکنون باید اکستنشن را به فهرست اکستنش‌های فعال اکسل اضافه کنید. با کلیک بر روی File و انتخاب «Options» از منوی کناری، پنجره «Excel Options» به نمایش درمی‌آید. این پنجره، گزینه‌های زیادی را برای اعمال تنظیمات دلخواه در اختیار کاربران قرار می‌دهد. یکی از این تنظیمات، اضافه کردن افزونه است.

برای مشاهده تصویر در ابعاد بزرگ‌تر، بر روی آن کلیک کنید.

بخش «Add-ins» در پنجره تنظیمات اکسل، به قابلیت اضافه کردن اکستنشن اختصاص دارد. پس از کلیک بر روی عنوان این بخش، فهرست اکستنش‌های فعال و غیرفعال در سمت راست پنجره ظاهر می‌شود. برای اضافه کردن اکستنشن تبدیل تاریخ میلادی به خورشیدی، بر روی دکمه «Go» کلیک کنید تا پنجره زیر به نمایش درآید.

پنجره اضافه کردن اکستنش در اکسل 2021

در بخش «Add-ins available»، عنوان اکستنشن‌های دردسترس برای فعال‌سازی آورده شده است. بر روی «Browse» کلیک کنید و به مسیر استخراج فایل‌های اکستنشن تبدیل تاریخ میلادی به خورشیدی بروید.

برای مشاهده تصویر در ابعاد بزرگ‌تر، بر روی آن کلیک کنید.

با کلیک بر روی «OK»، اکستنشن انتخابی به فهرست اکستنشن‌های دردسترس اضافه می‌شود.

اضافه شدن اکستنشن تبدیل تاریخ میلادی به خورشیدی به فهرست افزونه های اکسل 2021

تیک کنار عنوان اکستنشن جدید را فعال کرده و بر روی OK کلیک کنید. به این ترتیب، قابلیت تبدیل تاریخ میلادی به خورشیدی به اکسل شما افزوده می‌شود. اکستنشن اول، فرمول‌های زیر را به اکسل شما اضافه می‌کند:

  • m2s() : این تابع تاریخ میلادی را به عنوان پارامتر ورودی دریافت می‌کند و تاریخ خورشیدی را به عنوان خروجی نمایش می‌دهد.
  • s2m() : این تابع تاریخ خورشیدی را به عنوان پارامتر ورودی دریافت می‌کند و تاریخ میلادی را به عنوان خروجی نمایش می‌دهد.
  • horofi() : این تابع یک عدد را به عنوان پارامتر ورودی دریافت می‌کند و آن را به صورت حروف نمایش می‌دهد.
  • three() : این تابع یک عدد حداکثر سه‌رقمی را به عنوان پارامتر ورودی دریافت می‌کند و آن را به صورت حروف نمایش می‌دهد.

برای آشنایی با نحوه استفاده از توابع بالا برای تبدیل تاریخ میلادی به خورشیدی، مثال زیر را در نظر بگیرید.

بخشی از یک اکسل با دو سلول با عنوان های تاریخ میلادی و شمسی و یک تاریخ میلادی به عدد

می‌خواهیم معادل خورشیدی تاریخ میلادی نوشته شده در سلول «B3» را در سلول «C3» نمایش دهیم. به این منظور، ابتدا بر روی سلول C3 کلیک می‌کنیم و سپس فرمول =m2s(B3) را درون آن می‌نویسیم. در انتها، کلید «Enter» را می‌فشاریم.

مثال تبدیل تاریخ میلادی به خورشیدی با استفاده از تابع اضافه شده توسط اکستنشن

تابع m2s، تاریخ میلادی سلول B3 را می‌گیرد و پس از انجام محاسبات، معادل خورشیدی آن را در سلول C3 نمایش می‌دهد.

مثال خروجی اکستنشن تبدیل تاریخ میلادی به خورشیدی اکسل 2021

یکی دیگر از روش‌های استفاده از فرمول‌های اکستنشن تبدیل تاریخ میلادی به خورشیدی، وارد کردن مستقیم تاریخ مورد نظر در آن است. به عنوان مثال، تاریخ میلادی نوشته شده در سلول C3 را به طور مستقیم و به صورت فرمول =m2s("1/1/2025") در سلول «C4» می‌نویسیم.

وارد کردن مستقیم تاریخ میلادی برای تبدیل به تاریخ خورشیدی در اکسل 2021

توجه کنید که حتما باید تاریخ میلادی را بین دو علامت نقل قول (") وارد کنید. نکته دیگری که باید آن را مورد توجه قرار دهید، قالب تاریخ میلادی در اکسل است. در اکسل ۲۰۲۱، قالب پیش‌فرض تاریخ میلادی به صورت «سال/روز/ماه» در نظر گرفته می‌شود. البته این قالب قابل تغییر است اما بهتر است ترتیب روز و ماه را در آن بررسی کنید. در بخش‌های بعدی، به تنظیمات مرتبط با قالب‌بندی تاریخ نظیر ترتیب روز/ماه/سال و نمایش تاریخ با اعداد فارسی خواهیم پرداخت.

فرادرس، یک فیلم آموزشی کاربردی را با عنوان «آموزش کاربرد اکسل در حسابداری و مدیریت» تهیه کرده است که در یکی از بخش‌های آن به طور خاص به مبحث تبدیل تاریخ در اکسل پرداخته می‌شود. لینک مشاهده این آموزش در ادامه اورده شده است.

چگونه قابلیت‌های کاربردی اکسل را با فرادرس یاد بگیریم؟

نمایی از صفحه مجموعه آموزش های اکسل فرادرس
برای مشاهده مجموعه فیلم‌های آموزش مقدماتی تا پیشرفته اکسل، بر روی تصویر کلیک کنید.

اکسل، یکی از بهترین و کاربردی‌ترین نرم‌افزارهای اداری است که یادگیری قابلیت‌های آن، مسیر پیشرفت حرفه‌ای شما را هموارتر می‌کند. اغلب شرکت‌ها، این نرم‌افزار را به منظور انجام محاسبات، تهیه گزارش‌ها، مرتب‌سازی داده‌ها و بسیاری از فعالیت‌های دیگر مورد استفاده قرار می‌دهند. بنابراین، پیشنهاد می‌کنیم تقویت مهارت‌های خود در زمینه کار با اکسل را در برنامه‌های خود قرار دهید. البته برای این کار، به منابع آموزشی جامع و مفید نیاز دارید.

بهترین منابع یادگیری اکسل، ضمن بیان اصول مقدماتی و عمومی، نحوه کار با ابزارهای پیشرفته و تخصصی را به همراه حل مثال‌های کاربردی توضیح می‌دهند. فرادرس، مجموعه‌ای از فیلم‌های آموزشی جامع را در سطوح ابتدایی تا حرفه‌ای تهیه کرده است که می‌تواند شما را در یادگیری کامل اکسل کمک کند. لینک مشاهده برخی از پرطرفدارترین آموزش‌های این مجموعه در ادامه آورده شده است.

تبدیل تاریخ میلادی به خورشیدی با یک اکستنشن کامل‌تر

در بخش قبلی، مراحل تبدیل تاریخ میلادی به خورشیدی را با استفاده از اکستنشن ساده و کاربردی فارسی‌تولز آموزش دادیم.

اگر می‌خواهید از قابلیت‌های بیشتری برای کار با تاریخ‌های خورشیدی در اکسل بهره ببرید، اکستنشن زیر را دانلود کنید.

  • دانلود اکستنشن دوم تبدیل تاریخ میلادی به خورشیدی (+)

پس از خارج کردن اکستنشن دوم از حالت فشرده، مطابق با مراحل زیر، آن را به فهرست اکستنشن‌های اکسل اضافه کنید:

  1. کلیک بر روی File در منوی بالای پنجره نرم‌افزار
  2. انتخاب Options در انتهای نوار کناری
  3. رفتن به بخش Add-ins در پنجره Excel Options
  4. کلیک بر روی دکمه Go در پایین پنجره
  5. کلیک بر روی دکمه Browse در کادر Add-ins
  6. رفتن به پوشه حاوی اکستنشن
  7. انتخاب فایل اکستنشن و کلیک بر روی Open
  8. فعالسازی تیک کنار عنوان اکستنشن در کادر Add-ins
  9. کلیک بر روی OK

تنها نکته‌ای که در هنگام طی کردن مراحل بالا باید در نظر بگیرید، ۶۴ بیتی یا ۳۲ بیتی بودن اکسل نصب شده بر روی سیستم‌تان است. برای بررسی این موضوع، پس از کلیک بر روی File و رفتن به بخش Account، گزینه «About Excel» را انتخاب کنید.

مسیر About Excel در اکسل 2021
برای مشاهده تصویر در ابعاد بزرگ‌تر، بر روی آن کلیک کنید.

با کلیک بر روی About Excel، پنجره‌ای حاوی اطلاعات تکمیلی در مورد نسخه نصب شده به نمایش درمی‌آید.

اطلاعات مربوط به نسخه اکسل 2021 نصب شده بر روی یک سیستم 64 بیتی

به عنوان مثال تصویر بالا نشان می‌دهد که نسخه نصب شده بر روی سیستم ما، ۶۴ بیتی است. بنابراین، هنگام انتخاب فایل اکستنشن، باید نسخه ۶۴ بیتی را انتخاب کنیم. این اکستنشن، توابع زیادی را برای تبدیل تاریخ میلادی به خورشیدی و انجام محاسبات مختلف بر روی تاریخ‌ها به اکسل اضافه می‌کند. برخی از این توابع عبارت هستند از:

  • nPersianConvertFromGregorian() : این تابع، تاریخ میلادی را به عنوان پارامتر ورودی Date می‌گیرد و تاریخ خورشیدی معادل آن را نمایش می‌دهد. پارامتر ورودی Format، یک پارامتر غیرالزامی است که عدد ۱ را برای قالب تاریخ میلادی سال/روز/ماه و عدد ۲ را برای قالب تاریخ میلادی سال/ماه/روز دریافت می‌کند. این پارامتر به صورت پیش‌فرض بر روی ۱ قرار دارد.
  • nPersianConvertToGregorian() : این تابع، تاریخ خورشیدی را به عنوان پارامتر ورودی می‌گیرد و تاریخ میلادی معادل آن را نمایش می‌دهد.
  • nPersianToday(): این تابع، بدون گرفتن پارامتر ورودی، تاریخ خورشیدی امروز را نمایش می‌‌دهد.
  • nPersianDateDiff() : این تابع، تاریخ ابتدایی و انتهایی را به عنوان پارامترهای ورودی StartDate و EndDate می‌گیرد و فاصله بین دو تاریخ وارد شده را نمایش می‌دهد. پارامتر ورودی DatePart، یک پارامتر غیرالزامی است که امکان انتخاب نحوه نمایش فاصله بین تاریخ را به صورت روز (۱)، ماه (۲)، سال (۳)، هفته (۴) و فصل (۵) فراهم می‌کند. مقدار پیش‌فرض این پارامتر بر روی ۱ قرار دارد.
  • nPersianDatePart() : این تابع، تاریخ خورشیدی مورد نظر را به عنوان پارامتر ورودی Input می‌گیرد و بر اساس پارامتر ورودی DatePart، روز (۱)، ماه (۲) یا سال (۳) را نمایش می‌دهد.

تصویر زیر، نمونه‌‌ای از تبدیل تاریخ میلادی به خورشیدی با استفاده از تابعnPersianConvertFromGregorian() در اکستنشن دوم را نمایش می‌دهد.

مثال تبدیل تاریخ میلادی به خورشیدی در اکسل 2021

از دیگر توابع کاربردی اکستنشن دوم می‌توان به موارد زیر اشاره کرد:

  • nPersianAddDays() : افزودن تعداد روز مشخص (NumberOfDays) به تاریخ خورشیدی مورد نظر (Input)
  • nPersianAddMonths() : افزودن تعداد ماه مشخص (NumberOfMonths) به تاریخ خورشیدی مورد نظر (Input)
  • nPersianAddYears() : افزودن تعداد سال مشخص (NumberOfYears) به تاریخ خورشیدی مورد نظر (Input)
  • nPersianDayOfWeek() : شماره روز هفته مصادف با تاریخ خورشیدی مورد نظر
  • nPersianDayOfWeekName() : نام روز هفته مصادف با تاریخ خورشیدی مورد نظر
  • nPersianDayOfYear() : تعداد هفته‌های گذشته از ابتدای سال تا تاریخ خورشیدی مورد نظر
  • nPersianIsLeapYear() : کبیسه بودن یا نبود سال خورشیدی مورد نظر

در مطلب «قالب‌بندی سلول در اکسل (Format Cell) – به زبان ساده» از مجله فرادرس، تنظیمات قالب‌بندی اعداد و متن در اکسل را آموزش دادیم. در ادامه، نگاهی به تنظیمات قالب‌بندی تاریخ در اکسل خواهیم داشت.

تنظیمات قالب‌بندی تاریخ

برای اینکه خروجی درستی از اکستنشن تبدیل تاریخ میلادی به خورشیدی دریافت کنید، باید تاریخ میلادی را بر اساس قالب درست بنویسید.

به منظور اطلاع از قالب تاریخ میلادی، پس از انتخاب زبانه «Home»، نشانگر ماوس را به سمت پنل «Number» ببرید و بر روی آیکون کوچک قرارگرفته در قسمت پایین-راست پنل کلیک کنید. البته پیش از این کار، باید سلول حاوی تاریخ میلادی را انتخاب کرده باشید.

برای مشاهده تصویر در ابعاد بزرگ‌تر، بر روی آن کلیک کنید.

آیکون نمایش داده شده در تصویر بالا، «Number Format» نام دارد. با کلیک بر روی این آیکون، پنجره «Format Cells» به نمایش درمی‌آید. این پنجره، امکان مشاهده انواع قالب‌ها و سفارشی‌سازی آن‌ها را فراهم می‌کند.

پنحره قالب بندی اعداد در اکسل 2021 بخش فرمت سفارشی
برای مشاهده تصویر در ابعاد بزرگ‌تر، بر روی آن کلیک کنید.

پس از باز شدن پنجره Format Cells، از منوی «Category» به بخش «Custom» بروید. این بخش، برای تنظیم سفارشی قالب سلول مورد استفاده قرار می‌گیرد. در سمت راست پنجره، به کادر زیر «Type» دقت کنید. این کادر، قالب نمایش سلول را نشان می‌دهد. همان‌طور که می‌بینید، تاریخ میلادی دارای قالب «m/d/yyyy» است. بنابراین از چپ به راست ابتدا ماه (m)، سپس روز (d) و در انتها سال (yyyy) نوشته می‌شود. شما می‌توانید این قالب را به صورت دلخواه تغییر دهید یا از همان قالب پیش‌فرض استفاده کنید.

نکته دیگری که در این بخش به آن می‌پردازیم، نمایش تاریخ خورشیدی با اعداد فارسی است. این موضوع به فونت انتخابی شما بستگی دارد. در تصویر زیر، دو تاریخ خورشیدی را با دو فونت متفاوت نمایش می‌دهد.

دو تاریخ خورشیدی با فونت های متفاوت در اکسل 2021

در یکی از تاریخ‌های خورشیدی، از فونتی با قابلیت نمایش اعداد فارسی استفاده شده است و در تاریخ دیگر، فونت انتخابی اعداد را به صورت لاتین نمایش می‌دهد. بنابراین، نحوه نمایش فارسی یا لاتین اعداد به فونت انتخابی شما بستگی دارد و مربوط به اکستنشن تبدیل تاریخ میلادی به خورشیدی نیست.

ساخت اکستنشن تبدیل تاریخ میلادی به خورشیدی در اکسل

یکی از روش‌های ساده برای تبدیل تاریخ میلادی به خورشیدی در اکسل، ساخت اکستنشن با استفاده از زبان برنامه‌نویسی VBA و ماکرونویسی است. شاید این کار در ابتدا بسیار پیچیده و سخت به نظر برسد اما با یک مثال ساده، مبانی آن را به صورت گام به گام و تصویری به شما آموزش می‌دهیم.

باز کردن محیط برنامه‌نویسی در اکسل

نرم‌افزار اکسل، از زبان برنامه‌نویسی VBA پشتیبانی می‌کند. یکی از کاربردهای این زبان برنامه‌نویسی، اتوماسیون محاسبات و اجرای عملیات‌های تکراری یا ماکرونویسی است. بسیاری از افزونه‌های اکسل، در محیط VBA ساخته می‌شوند. برای رفتن به این محیط، کلید ترکیبی «Alt+F11» را بفشارید. با این کار محیط برنامه‌نویسی در اکسل به نمایش درمی‌آید.

محیط برنامه نویسی VBA در اکسل

ساخت ماژول کدنویسی در اکسل

در محیط برنامه‌نویسی اکسل، بر روی ناحیه خالی بخش «Project - VBAProject» کلیک راست کرده و پس از رفتن به روی گزینه «Insert»، بر روی «Module» کلیک کنید.

مسیر ساخت ماژول در محیط VBA اکسل 2021

با کلیک بر روی Module، یک پنجره برای کدنویسی باز می‌شود.

ساخت ماژول جدید و باز شدن پنجره کدنویسی در محیط VBA اکسل 2021

اکنون، کدهای زیر را کپی کرده و در پنجره مخصوص کدنویسی پیست کنید.

Public Function M2S(ByVal INNUM As Date) As String
Dim ym, mm, rm As Integer
If jimi = 1 Then Exit Function
M2S = cM2S(Year(INNUM), month(INNUM), day(INNUM))
'mm = Month(INNUM)
End Function

Public Function cM2S(ByVal ym As Integer, ByVal mm As Integer, ByVal rm As Integer) As String

Dim i%(12, 1)
Dim m%(12)
Dim yi, mi, ri As Integer
i%(1, 0) = 0
i%(2, 0) = 31
i%(3, 0) = 59
i%(4, 0) = 90
i%(5, 0) = 120
i%(6, 0) = 151
i%(7, 0) = 181
i%(8, 0) = 212
i%(9, 0) = 243
i%(10, 0) = 273
i%(11, 0) = 304
i%(12, 0) = 334
i%(1, 1) = 0
i%(2, 1) = 31
i%(3, 1) = 60
i%(4, 1) = 91
i%(5, 1) = 121
i%(6, 1) = 152
i%(7, 1) = 182
i%(8, 1) = 213
i%(9, 1) = 244
i%(10, 1) = 274
i%(11, 1) = 305
i%(12, 1) = 335
m%(1) = 0
m%(2) = 31
m%(3) = 62
m%(4) = 93
m%(5) = 124
m%(6) = 155
m%(7) = 186
m%(8) = 216
m%(9) = 246
m%(10) = 276
m%(11) = 306
m%(12) = 336
Dim f, r, r3, r2 As Integer
yi = ym - 621 ' yi is iranian year
r = rsm(yi) ' rsm returns day of year
r3 = rm + i%(mm, km(ym) - km(ym - 1))
If r3 > r Then
 r2 = r3 - r
Else
 yi = yi - 1
 r2 = r3 - r + 365 + ki(yi) - ki(yi - 1)
End If
For f = 1 To 12
If r2 <= m%(f) Then Exit For
Next f
f = f - 1
ri = r2 - m%(f)
mi = f
Dim month As String
Dim day As String

If Int(Trim(str(mi))) < 10 Then
month = "0" & Trim(str(mi))
Else
month = Trim(str(mi))
End If

If Int(Trim(str(ri))) < 10 Then
day = "0" & Trim(str(ri))
Else
day = Trim(str(ri))
End If
cM2S = Trim(Trim(str(yi)) + "/" + month + "/" + day)
End Function
'return section
Private Function ki(ByVal yi As Integer) As Integer
Dim y, y1, y2, y3, y4 As Integer
y = yi - 508
y1 = y \ 128
y2 = y Mod 128
y3 = y2 \ 33
y4 = y2 Mod 33
ki = y1 * 31 + y3 * 8 + y4 \ 4 - y2 \ 127 - y4 \ 32

End Function
Private Function km(ByVal ym As Integer) As Integer
 km = ((ym \ 100) - (ym \ 400) - 2) * (ym > 1581) + ym \ 4
End Function
Private Function rsm(ByVal yi As Integer) As Integer
 rsm = ki(yi - 1) - km(yi + 620) + 363 - 8
End Function


Public Function ci2m(ByVal yi As Integer, ByVal mi As Integer, ByVal ri As Integer) As String

Dim i%(12, 1)
Dim m%(12)
i%(1, 0) = 0
i%(2, 0) = 31
i%(3, 0) = 59
i%(4, 0) = 90
i%(5, 0) = 120
i%(6, 0) = 151
i%(7, 0) = 181
i%(8, 0) = 212
i%(9, 0) = 243
i%(10, 0) = 273
i%(11, 0) = 304
i%(12, 0) = 334
i%(1, 1) = 0
i%(2, 1) = 31
i%(3, 1) = 60
i%(4, 1) = 91
i%(5, 1) = 121
i%(6, 1) = 152
i%(7, 1) = 182
i%(8, 1) = 213
i%(9, 1) = 244
i%(10, 1) = 274
i%(11, 1) = 305
i%(12, 1) = 335
m%(1) = 0
m%(2) = 31
m%(3) = 62
m%(4) = 93
m%(5) = 124
m%(6) = 155
m%(7) = 186
m%(8) = 216
m%(9) = 246
m%(10) = 276
m%(11) = 306
m%(12) = 336
Dim mk As Integer
Dim f, r, r1, r2 As Integer
ym = yi + 621 ' yi is iranian year
r = rsm(yi) ' rsm returns day of year
r1 = ri + m%(mi)
r2 = r + r1
mk = km(ym) - km(ym - 1)
If r2 > 365 + mk Then
 ym = ym + 1
 r2 = r2 - 365 - mk
 mk = km(ym) - km(ym - 1)
End If

For f = 1 To 12
If r2 <= i%(f, mk) Then Exit For
Next f
f = f - 1
mm = f
rm = r2 - i%(f, mk)
ci2m = str(ym) + "/" + str(mm) + "/" + str(rm)
End Function

End Function
در انتها، باید کدهای نوشته شده را ذخیره کنیم. این کار با فشردن کلید ترکیبی «Ctrl+S» قابل اجرا است.
کدهای تبدیل تاریخ میلادی به خورشیدی در محیط VBA اکسل 2021

فایل‌های اکسل حاوی کدهای ماکرو، با فرمت «xlsm» ذخیره می‌شوند. اگر فرمت فایل فعلی شما چیزی به غیر از xlsm باشد، پیغام زیر برایتان به نمایش درمی‌آید.

پیغام عدم مطابقت فرمت فایل اکسل 2021 با فرمت مورد نیاز برای ماکرونویسی

با کلیک بر روی «Yes»، قابلیت ماکرو در فایل فعال می‌شود. پس از ذخیره‌سازی ماکرو، از محیط VBA خارج شوید. این فرآیند، یک تابع جدید را با عنوان «M2S» به تابع‌های اکسل شما اضافه می‌کند. کاربرد این تابع، تبدیل تاریخ میلادی به خورشیدی است.

خروجی تبدیل تاریخ میلادی به خورشیدی با تابع ساخته شده توسط ماکرونویسی در اکسل 2021

اگر با اصول ماکرونویسی و فرمول‌نویسی در اکسل آشنا شوید، می‌توانید کدهای ارائه شده در این بخش را بر اساس نیازهای خود تغییر دهید و حتی یک اکستنشن کامل با قابلیت‌های دلخواه برای تبدیل تاریخ میلادی به خورشیدی بسازید.

در صورت علاقه با یادگیری این مهارت جذاب و کاربردی، مشاهده عناوین موجود در «مجموعه فیلم‌های آموزش مقدماتی تا پیشرفته توابع و فرمول در اکسل فرادرس» را به شما پیشنهاد می‌کنیم. لینک مشاهده آموزش‌های این مجموعه در ادامه آورده شده است.

تبدیل تاریخ میلادی به خورشیدی بدون اکستنشن

در آخرین بخش از این مطلب مجله فرادرس، قصد داریم نحوه تبدیل تاریخ میلادی به خورشیدی بدون اکستنشن را آموزش دهیم. اگر از اکسل ۲۰۱۶ یا نسخه‌های جدیدتر اکسل استفاده می‌کنید، برای تبدیل تاریخ میلادی به خورشیدی، به هیچ اکستنشنی نیاز ندارید و فقط باید تنظیمات قالب نمایش سلول حاوی تاریخ مورد نظر را تغییر دهید.

برای یادگیری این روش، مثال زیر را در نظر بگیرید.

مثال تبدیل تاریخ میلادی به خورشیدی بدون اکستنشن با تغییر فرمت

می‌خواهیم تاریخ میلادی نوشته شده در سلول B3 را به صورت تاریخ خورشیدی در سلول C3 نشان دهیم. به این منظور، ابتدا بر روی خانه C3 کلیک می‌کنیم. در ادامه، از زبانه Home به پنل Number می‌رویم. سپس، بر روی علامت کوچک Number Format در قسمت پایین-راست پنل کلیک می‌کنیم.

پنجره تنظیم فرمت تاریخ خورشیدی در اکسل 2021

پس از به نمایش درآمدن پنجره Format Cells، مراحل زیر را انجام می‌هیم:

  1. در زبانه Number، به بخش «Date» می‌رویم.
  2. منوی بازشونده «Locale» را بر روی گزینه «Persian» قرار می‌دهیم.
  3. منوی بازشونده «Calendar Type» را بر روی گزینه «Persian» تنظیم می‌کنیم.
  4. بر روی OK کلیک می‌کنیم.

به این ترتیب، قالب نمایش خانه C3، به قالب نمایش تاریخ خورشیدی تبدیل می‌شود. اکنون، اگر خانه C3 را برابر با خانه B3 قرار دهیم، معادل خورشیدی تاریخ میلادی نوشته در آن را مشاهده خواهیم کرد.

خروجی تبدیل تاریخ میلادی به خورشیدی بدون اکستنشن در اکسل 2021
بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
مجله فرادرس
دانلود PDF مقاله
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *