
لینک کوتاه : https://magicfile.ir/?p=4664
ماکرو اکسل برای کنترل و پایش وزن و سلامت فردی
ماکروی ارائهشده عملاً یک «سیستم مینیداشبورد سلامت فردی» در اکسل میسازد؛ هدف آن این است که ظرف چند ثانیه یک کاربر عادی – بدون دانش برنامهنویسی – بتواند شیت تخصصی “کنترل وزن” را خلق کند و همهٔ دادههای مربوط به وزن، قد، کالری، وعدههای غذایی و فعالیت روزانهاش را در بستری منظم ثبت کند. معمارِ این کد ابتدا شیتی تازه ایجاد میکند و اگر شیت قبلی با همین نام وجود داشته باشد، بدون مزاحمتِ پیغامهای پیشفرض اکسل حذفش میکند؛ سپس دقیقاً سیزده ستون کلیدی را با عنوانهای فارسی و قلم بولد در سرسطر قرار میدهد، اندازهٔ هر ستون را معقول میچیند و روی سرسطرها پسزمینهٔ آبی سیر و فونت سفید اعمال میکند تا خوانایی و هویت بصری حرفهای داشته باشد. بهکمک شیٔ ListObject، محدودهٔ A1:M2 به یک جدول اکسل رسمی تبدیل میشود که هم مرتبسازی و فیلترش آسان باشد و هم بعداً در توابع تحلیلی بهصورت دینامیک بزرگ و کوچک شود. سه فرمول مهم در سطر دوم تعبیه شدهاند: محاسبهٔ خودکار BMI، تشخیص وضعیت بدنی بر اساس BMI و محاسبهٔ تغییر وزن نسبت به رکورد قبلی؛ این فرمولها در صورت نبود داده تهی میمانند تا جدول خطا ندهد. قالببندی شرطی (FormatConditions) نیز با دو منطق ساده ولی مؤثر پیاده شده است: سلولهای «تغییر وزن» که مقدار مثبت دارند با پسزمینهٔ قرمز کمرنگ و فونت زرشکی هشدار میدهند، درحالیکه مقادیر منفی سبز میشوند؛ ستون «وضعیت» نیز واژهٔ «نرمال» را سبز و «چاق» را قرمز میکند تا کاربر بلافاصله وضعیت سلامتی را ببیند.
روال دوم یعنی افزودن_رکورد
– که دکمهٔ «افزودن رکورد جدید» آن را فراخوانی میکند – نقطهٔ آغاز تجربهٔ تعاملی کاربر است. هر بار فشرده شدن دکمه، بهصورت اتوماتیک سطر تازهای به انتهای جدول تزریق میکند، سپس همان سه فرمول کلیدی را دقیقاً در ستونهای چهارم، پنجم و ششم سطر تازه کپی میکند اما نه بهصورت Copy–Paste ساده، بلکه با دستور FormulaR1C1 تا ساختار مرجعدهی به سطر قبلی (برای محاسبهٔ تغییر وزن) حفظ شود. پسزمینهٔ خاکستری روشن روی سلولهای فرمولی اعمال شده تا کاربر بفهمد این خانهها دستی پر نمیشوند. بهمحض ورود عددِ وزن و قد، BMI و وضعیت بدنی لحظهای بهروزرسانی میشوند و قالببندی شرطی رنگِ سطر را هم تطبیق میدهد؛ بعلاوه اکسل نشانگر را روی ستون تاریخ همان سطر تازه میگذارد تا کاربر بدون جستوجو شروع به تایپ کند. این طراحی باعث میشود روند ثبت روزانه داده کاملاً بیاصطکاک و همانند یک فرم تحت وب ولی درون اکسل صورت گیرد.
در گام سوم، ماکروی ايجاد_گزارش_کنترل_وزن_پيشرفته
شیت دوم را از دل دادههای جدول استخراج میکند و آن را «گزارش کنترل وزن» مینامد؛ اگر گزارشی موجود باشد، بیسروصدا حذف شده و شیت تازهای با پسزمینهٔ سفید تمیز ساخته میشود. این ماژول ابتدا یک تیتر بزرگ «گزارش پیشرفته کنترل وزن و رژیم غذایی» در سلول A1 قرار میدهد و ستونهای A تا H را پهن میکند تا متون طولانی جا بگیرند. سپس با جمعآوری محدودهٔ پویا از ستونهای جدول، شش معیار آماری مهم استخراج و در ردیفهای متوالی درج میکند: تعداد رکوردها، حداقل، حداکثر و میانگین وزن، میانگین BMI و جمع تغییر وزن، در کنار میانگین کالری مصرفی. همهٔ این مقادیر با توابع اکسل (MIN، MAX، AVERAGE، SUM) و ارجاع SheetName!Range ایجاد میشوند تا همواره همزمان با تغییر دادهها حساب شوند. رنگ فیروزهای ملایم روی برچسبهای آماری، جفتشده با NumberFormat یکرقم اعشار، جلوهای نزدیک به داشبوردهای حرفهای میدهد. در ادامه، تفسیر ماشینی بر اساس جمع تغییر وزن و میانگین BMI تولید میشود: اگر وزن کاهش یافته باشد پیام فعالیت موفق و اگر BMI خارج از محدودهٔ سالم باشد هشدار و توصیهٔ پزشکی ظاهر میشود. این تفسیرها در یک جدول دو ستونی با سطرهای بلند (WrapText) نمایش مییابد تا مانند نوتیفیکیشن تحلیلی عمل کند.
پس از تفسیر، بخش «پیشنهادات کلی» کاربر را مستقیماً به رفتارهای عملی ارجاع میدهد: رعایت تعادل کالری، تمرین منظم، مشاوره با متخصص و غیره. این پیشنهادها بهصورت لیست شمارهدار در جدول دوم ظاهر شده و هر شماره در ستون اول با پسزمینهٔ سبز کمرنگ و قلم بولد، جلوه بهتری به راهنماها میدهد. سپس خطوط مرزی (Borders.LineStyle) دور دو جدول کشیده میشود تا میان آمار، تفسیر و توصیهها جداسازی بصری ایجاد شود. بخش پایانی این روال (که میتواند در صورت نیاز فعال شود) سه نمودار تعبیه میکند: نمودار خطی روند وزن، نمودار ستونی تغییر وزن هر روز و نمودار دایرهای توزیع فعالیتها؛ برای نمودار سوم، ماکرو ابتدا با Dictionary از نوع Scripting جمع رخداد هر فعالیت را میشمارد، دادهٔ دستهبندیشده را در شیت مینویسد و سپس منبع دادهٔ نمودار Pie را به همین خروجی مپ میکند. هر سه نمودار با عنوان و محور تشریحی آمادهٔ ارائه میشوند و در موقعیت کناری جدولها قرار میگیرند تا شیت گزارش به چیزی نزدیک به یک «اینفوگرافیک قابل چاپ» تبدیل شود.
نمونه تصاویر در زمان اجرا
کد VBA ایجاد سیستم کنترل وزن در اکسل
در این پروژه کاربردی، یک ماکرو پیشرفته به زبان VBA طراحی شده که امکان ایجاد، ثبت، تحلیل و تفسیر دادههای کنترل وزن و رژیم غذایی را فراهم میکند. این ابزار مناسب برای افرادی است که میخواهند وزن، شاخص توده بدنی (BMI)، تغییرات بدنی و اطلاعات تغذیهای روزانه خود را به شکل حرفهای و منظم در اکسل ثبت و تحلیل کنند.
📌 معرفی اجزای اصلی کد
1. Sub ساخت_شيت_کنترل_وزن_بدون_نمودار
این روال وظیفه ساخت شیت جدیدی به نام «کنترل وزن» را دارد. در این شیت موارد زیر ایجاد میشود:
✅ ستونهای اصلی جدول:
-
تاریخ
-
وزن (kg)
-
قد (cm)
-
BMI (شاخص توده بدنی)
-
وضعیت (لاغر، نرمال، اضافه وزن، چاق)
-
تغییر وزن نسبت به روز قبل
-
چربی بدن (%)
-
کالری مصرفی
-
صبحانه، ناهار، شام
-
فعالیت
-
یادداشت روزانه
✅ فرمولهای هوشمند:
-
محاسبه خودکار BMI بر اساس وزن و قد واردشده.
-
تحلیل وضعیت بدنی بر اساس مقدار BMI.
-
محاسبه تغییر وزن نسبت به رکورد قبلی.
✅ رنگبندی و قالببندی شرطی:
-
سطرهایی که نشاندهنده افزایش وزن یا وضعیت چاقی هستند با رنگ قرمز نمایش داده میشوند.
-
سطرهایی که کاهش وزن یا وضعیت نرمال را نشان میدهند با رنگ سبز برجسته میشوند.
✅ دکمه «افزودن رکورد جدید»:
یک دکمه کاربردی با عملکرد پویا ایجاد میشود تا بتوان تنها با یک کلیک، رکورد جدیدی به جدول اضافه کرد.
2. Sub افزودن_رکورد
این روال هنگام کلیک روی دکمه «افزودن رکورد جدید» اجرا میشود و عملکرد آن به صورت زیر است:
-
اضافه کردن یک سطر جدید به جدول.
-
درج خودکار فرمولهای مربوط به BMI، وضعیت و تغییر وزن در ردیف جدید.
-
اعمال رنگ پسزمینه به سلولهای فرمولی برای تمایز.
3. Sub ايجاد_گزارش_کنترل_وزن_پيشرفته
این ماژول امکان تولید یک شیت گزارش تحلیلی تحت عنوان «گزارش کنترل وزن» را فراهم میکند. این گزارش شامل:
📊 آمار کلیدی:
-
تعداد رکوردهای ثبتشده
-
حداقل، حداکثر و میانگین وزن
-
میانگین BMI
-
مجموع تغییرات وزن
-
میانگین کالری مصرفی
📖 تفسیر خودکار وضعیت:
بر اساس اطلاعات ثبتشده، سیستم بهصورت خودکار تحلیلهایی مانند زیر ارائه میدهد:
-
روند تغییر وزن (کاهش، افزایش یا ثبات)
-
وضعیت کلی BMI (سالم، چاق، لاغر و غیره)
این تفسیرها به کاربر کمک میکند تا دید بهتری نسبت به وضعیت بدنی خود داشته باشد.
📦 ویژگیهای شاخص این ابزار:
ویژگی | توضیحات |
---|---|
👨⚕️ مناسب برای | افراد دارای رژیم غذایی، ورزشکاران، بیماران |
🔍 تحلیل هوشمند | BMI، تغییر وزن، وضعیت بدنی |
🎨 طراحی زیبا | رنگبندی پویا، قالببندی شرطی |
⏱ قابلیت توسعه | امکان افزودن |
✨ جمعبندی
این ابزار بهسادگی یک داشبورد سلامت شخصی در اکسل برای شما میسازد. تنها با اجرای یک ماکرو، شیت مخصوص کنترل وزن ساخته شده و آماده استفاده میشود. قابلیت ثبت، تحلیل، و تفسیر اطلاعات به صورت خودکار، آن را به ابزاری هوشمند، سبک و کاربردی برای مدیریت سلامت فردی تبدیل کرده است.
برای شما کاربران عزیز پیشنهاد دانلود داده می شود