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

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

دانلود - Download

لیست فایل های مشابه

توضیحات کامل در مورد فایل

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

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


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

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

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

محاسبه آمار و گزارش‌گیری خودکار از شیفت‌ها
ماکرو به‌صورت هوشمند ستون‌هایی برای محاسبه تعداد شیفت‌های صبح، عصر، شب، تعداد روزهای مرخصی، مجموع ساعات کاری و روزهای کاری برای هر کارمند ایجاد می‌کند. هر نوع شیفت ۸ ساعت در نظر گرفته شده و جمع ساعات کاری نیز بر اساس آن محاسبه می‌شود. در انتهای جدول، یک ردیف جمع‌بندی برای محاسبه مجموع ساعات و تعداد هر نوع شیفت برای کل کارکنان درج می‌شود. این محاسبات با استفاده از فرمول‌های COUNTIF و SUM انجام می‌گیرند و کاملاً داینامیک هستند.

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

نمونه تصاویر در زمان اجرا

✨ ویژگی‌های اصلی کد

  1. ایجاد خودکار شیت جدید با نام «برنامه شیفت» و حذف شیت قبلی در صورت وجود.

  2. ✅ دریافت تعداد کارکنان، نام آن‌ها، تاریخ شمسی شروع و تعداد روزهای برنامه از کاربر.

  3. ✅ نمایش تاریخ‌ها به شمسی با کمک توابع اختصاصی شما.

  4. ایجاد جدول کامل شیفت‌ها با لیست کشویی (صبح، عصر، شب، مرخصی).

  5. رنگ‌بندی خودکار شیفت‌ها برای خوانایی بهتر:

    • صبح: سبز روشن

    • عصر: زرد روشن

    • شب: آبی روشن

    • مرخصی: قرمز روشن

  6. محاسبه خودکار آمار شیفت‌ها برای هر نفر:

    • تعداد شیفت‌های صبح، عصر، شب، مرخصی

    • جمع کل ساعت کاری (هر شیفت = ۸ ساعت)

    • تعداد روزهای کاری (روزهای غیرمرخصی)

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

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


📌 استفاده از تقویم شمسی در اکسل VBA

در این پروژه از توابع سفارشی برای تبدیل تاریخ شمسی به میلادی (ShamsiToMiladi) و نمایش تاریخ شمسی (To_Hejri و Slash) استفاده شده است. همچنین تابع IsValidShamsiDate برای اعتبارسنجی تاریخ شمسی ورودی پیاده‌سازی شده است.


🧠 چطور از این کد استفاده کنیم؟

  1. وارد محیط VBA Editor (Alt + F11) شوید.

  2. یک ماژول جدید ایجاد کرده و این کد را در آن قرار دهید.

  3. از طریق اجرای Sub GenerateAdvancedShiftSchedule() برنامه را اجرا کرده و مراحل را طی کنید.


📷 پیش‌نمایش جدول نهایی

نام کارکنان ۱۴۰۴/۰۳/۰۱ ۱۴۰۴/۰۳/۰۲ ... شیفت صبح شیفت عصر شیفت شب مرخصی جمع ساعت روزهای کاری
علی حسینی صبح شب ... ۱ ۰ ۱ ۰ ۱۶ ۲


✅ نتیجه‌گیری

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

برای شما کاربران عزیز پیشنهاد دانلود داده می شود.

برای دریافت ( کد VBA برای ایجاد برنامه شیفت کاری به صورت شمسی در اکسل ) کلیک فرمایید

نظرات کاربران

ارسال کننده نظر کبری - 2024/7/8 4:32:14 am
عالی بود. به روزرسانی های منظم شما سپاسگزارم
 
پاسخ پشتیبانی فایل سحر آمیز
با سلام ممنون از ارسال دیدگاه خود
 
ارسال کننده نظر جواد - 2023/6/22 4:12:15 am
با سلام بسیار خوشحال هستم فایل را دانلود کردم همونی هست که دنبالش بودم گفتم یک تشکری بکنم
 
پاسخ پشتیبانی فایل سحر آمیز
سلام سپاس از ارزیابی شما
 
ارسال کننده نظر سعید - 2023/6/1 4:11:36 am
با سلام و سپاس فراوان از اینکه دانش خود را بصورت رایگان نشر میدهید خیلی سپاسگذار م دوره خوب با مطالب کاربردی بود متشکرم
 
پاسخ پشتیبانی فایل سحر آمیز
سلام بزرگوارید
 
ارسال کننده نظر مسعود - 2023/5/7 2:28:21 am
ممنون از پشتیبانی خوب و بروزرسانی های سریع
 
پاسخ پشتیبانی فایل سحر آمیز
با سلام لطف شما را ارج می نهیم