
لینک کوتاه : https://magicfile.ir/?p=4629
دانلود برنامه ساخت خودکار کارنامه تحصیلی برای هر دانشآموز در اکسل با ماکرو VBA
با یک کد ماکرو بسیار پیشرفته در VBA آشنا میشویم که به صورت خودکار برای هر دانشآموز یک برگه کارنامهی اختصاصی ایجاد میکند. این سیستم گزارشگیری میتواند بر اساس دادههای وارد شده در یک شیت مرکزی، اطلاعات را پردازش کرده و خروجی گرافیکی، زیبا و شخصیسازیشده برای هر دانشآموز تولید کند.
ماکروی پیشرفتهی GenerateCompleteReportCards
در Excel VBA یک سیستم کامل برای تولید کارنامههای انفرادی دانشآموزان بر اساس دادههای موجود در یک شیت اصلی به نام "نمرات" طراحی شده است. این ماکرو اطلاعات هر دانشآموز را از ردیفهای موجود در شیت نمرات دریافت کرده و برای هر دانشآموز یک شیت جداگانه با طراحی گرافیکی زیبا، شامل اطلاعات شناسنامهای، نمرات، وضعیت قبولی در هر درس، میانگین کل، وضعیت نهایی و حتی رنگبندی بر اساس وضعیت ایجاد میکند. این ماکرو به طور خودکار، شیتهای قدیمی را حذف کرده و شیت جدید را از ابتدا میسازد تا همیشه اطلاعات بهروز باشند.
در ابتدای اجرا، ماکرو با خاموش کردن بهروزرسانیهای صفحه (ScreenUpdating) و هشدارها (DisplayAlerts) بهینهسازی سرعت اجرا را تضمین میکند. سپس تعداد ردیفها و ستونهای اطلاعات را در شیت "نمرات" تشخیص میدهد و با بررسی اینکه داده کافی وجود دارد یا نه، از بروز خطا جلوگیری میکند. تعداد دروس بر اساس تعداد ستونها محاسبه میشود (با فرض اینکه ۴ ستون اول برای اطلاعات عمومی مانند نام و شماره دانشآموزی هستند).
برای هر دانشآموز، نام و شماره شناسایی گرفته شده و سپس نمرات دروس استخراج میشود. با محاسبه مجموع نمرات، میانگین نهایی بدست میآید. بر اساس این میانگین و همچنین نمرات فردی، وضعیت قبولی یا مردودی در هر درس مشخص میگردد. وضعیت کلی دانشآموز نیز به صورت "قبولی" یا "مردودی" بسته به میانگین کل تعیین میشود. سپس یک نام یکتا برای شیت هر دانشآموز ساخته میشود تا تکراری نباشد و از خطاهای نامگذاری جلوگیری شود.
در بخش طراحی شیت گزارش هر دانشآموز، اطلاعاتی مانند نام، شماره، تاریخ، تعداد دروس و جدول نمرات با وضعیت آنها درج میشود. ردیفهای زوج دارای رنگ زمینه خاکستری کمرنگ برای افزایش خوانایی هستند. اگر وضعیت قبولی باشد، سلول سبز کمرنگ با نوشته سبز نمایش داده میشود و در صورت مردودی، سلول قرمز کمرنگ با نوشته قرمز نمایش داده میشود. بخش هدر نیز شامل عنوان اصلی "کارنامه تحصیلی" با رنگبندی و فونت زیباست که ظاهری حرفهای به گزارش میدهد.
در پایان، میانگین کلی نیز با قالببندی مناسب درج میشود. این ماکرو به دلیل ساختار ماژولار، طراحی گرافیکی حرفهای و سازگاری کامل با زبان فارسی (راستچین، فونت، تاریخ شمسی و...) گزینهای بسیار عالی برای استفاده در مدارس، مؤسسات آموزشی یا گزارشگیری سریع و خودکار نمرات در سیستمهای آموزشی فارسیزبان است. این ماکرو نهتنها کار را آسان میکند، بلکه باعث صرفهجویی در زمان و افزایش دقت در ارائه کارنامه میشود.
نمونه تصاویر در زمان اجرا
✅ هدف کد چیست؟
این ماکرو با نام GenerateCompleteReportCards
به منظور ایجاد کارنامهی تحصیلی برای دانشآموزان طراحی شده است. اطلاعات اولیه شامل نام، شماره شناسایی و نمرات دروس در شیت اصلی به نام "نمرات" وارد میشود. سپس ماکرو برای هر دانشآموز:
-
یک شیت مجزا با طراحی گرافیکی میسازد
-
نمرات را نمایش میدهد
-
وضعیت هر درس (قبولی یا مردودی) را مشخص میکند
-
معدل کل و وضعیت کلی دانشآموز را تعیین مینماید
-
رنگبندی زیبایی برای قبولیها و مردودیها ارائه میدهد
🔄 مراحل عملکرد ماکرو
-
غیرفعالسازی بهروزرسانی صفحه:
Application.ScreenUpdating = False Application.DisplayAlerts = False
باعث افزایش سرعت اجرای ماکرو میشود.
-
شناسایی شیت دادهها:
Set wsData = ThisWorkbook.Sheets("نمرات")
تمام اطلاعات از شیت "نمرات" خوانده میشود.
-
محاسبه تعداد دانشآموز و دروس:
با استفاده از ستونها و سطرها، تعداد دانشآموزان و دروس محاسبه میشود. -
حلقه روی هر دانشآموز:
برای هر سطر از دادهها (یعنی هر دانشآموز)، ماکرو اطلاعات زیر را پردازش میکند:-
نام و شماره دانشآموز
-
جمع و معدل نمرات
-
بررسی قبولی یا مردودی در هر درس
-
تعیین وضعیت کلی بر اساس معدل
-
-
ساخت شیت اختصاصی برای هر دانشآموز:
-
اگر قبلاً شیتی به همین نام وجود داشته، حذف میشود.
-
شیت جدید با پسوند "کارنامه_" ساخته میشود.
-
-
طراحی و قالببندی گرافیکی کارنامه:
-
عنوان و اطلاعات کلی دانشآموز (نام، شماره، تاریخ و تعداد دروس)
-
جدول نمرات به همراه وضعیت هر درس
-
رنگ سبز برای قبولی، قرمز برای مردودی
-
معدل کلی با فونت درشت و نمایش واضح
-
🖼 بخشهای گرافیکی و طراحی
-
استفاده از فونت فارسی (مثلاً B Nazanin)
-
راستچین بودن شیتها (DisplayRightToLeft = True)
-
رنگ پسزمینه سرفصلها آبی و فونت سفید
-
ردیفهای متناوب طوسی برای خوانایی بیشتر
-
مرج (Merge) سلولها برای تیترها و اطلاعات شخصی
✳️ مزایای این ماکرو
-
کاملاً خودکار: تنها با اجرای یک دکمه، برای تمام دانشآموزان کارنامه ساخته میشود.
-
طراحی حرفهای و خوانا: گرافیکی و مناسب برای چاپ.
-
قابل توسعه: به راحتی میتوان نمودار، آمار کلی کلاس، وضعیت رتبهبندی و ... به آن افزود.
-
مناسب مدارس، مؤسسات آموزشی و گزارشگیریهای گروهی.
💡 نکات قابل سفارشیسازی
-
تغییر نام شیت دادهها (مثلاً از "نمرات" به نام دلخواه)
-
تعیین وضعیت قبولی/مردودی (مثلاً تعیین حدنصاب معدل بهجای 12)
-
افزودن ستون "نام درسها" به جای "درس 1، درس 2..." در صورت نیاز
-
افزودن نمودار عملکرد دانشآموزان در ادامهی شیت
🧠 نتیجهگیری
این ماکرو ابزاری قدرتمند برای ساخت سیستم گزارشگیری تحصیلی در اکسل است. اگر در مدرسه، آموزشگاه یا دانشگاه با نمرات دانشآموزان سر و کار دارید، این کد میتواند فرآیند ایجاد کارنامه را سریع، زیبا و بدون خطا انجام دهد.
برای شما کاربران عزیز پیشنهاد دانلود داده می شود.