
لینک کوتاه : https://magicfile.ir/?p=4672
دانلود پروژه کد VBA متره و برآورد در اکسل
در این پروژه حرفهای، ما یک سیستم کامل متره و برآورد به زبان VBA در اکسل طراحی کردهایم که بهصورت خودکار شیتهای مختلف مانند «ليست بها»، «ريز متره»، «خلاصه مقادير»، «گزارش مالي»، «داشبورد» و «راهنما» را ایجاد و آمادهسازی میکند. این سیستم با بارگذاری خودکار لیست قیمت آیتمها و ایجاد جدولهای ساختاریافته، به مهندسین، ناظران پروژه و پیمانکاران کمک میکند تا با سرعت و دقت بالایی، محاسبات هزینه پروژههای عمرانی و ساختمانی را انجام دهند. همچنین قالببندیها، فونتها و رنگها به صورت استاندارد تنظیم شده تا ظاهر زیبا و حرفهای داشته باشد.
در جدول «ريز متره»، کاربر میتواند فقط با وارد کردن کد آیتم، مقادیر مربوط به شرح، واحد، بهای واحد و دستهبندی را بهصورت خودکار از «ليست بها» دریافت کند. سپس با وارد کردن مقدار، جمع جزئی هزینه آن ردیف محاسبه میشود. در بخش «خلاصه مقادير»، مجموع هزینه هر دستهبندی و سهم درصدی آن نسبت به کل پروژه بهصورت داینامیک محاسبه میشود. این خلاصه به تصمیمگیرندگان کمک میکند تا تشخیص دهند کدام بخش از پروژه بیشترین هزینه را به خود اختصاص داده است و تحلیل مالی دقیقتری انجام دهند.
در نهایت، قابلیتهایی مانند حذف شیتهای قدیمی، تنظیم فونتهای هماهنگ، ایجاد جدولهای داینامیک، اعمال قالببندی شرطی، استفاده از فرمولهای پیشرفته مانند VLOOKUP
و SUMIFS
، و همچنین آمادگی برای افزودن بخشهایی مانند سناریوهای اقتصادی و داشبورد تصویری، این پروژه را به یکی از کاملترین سیستمهای متره و برآورد اکسل با VBA تبدیل کرده است. این ابزار میتواند به راحتی شخصیسازی شود و در پروژههای مختلف با مقیاسهای متفاوت مورد استفاده قرار گیرد.
نمونه تصاویر
در این پست قصد دارم شما را با یک پروژه کامل و پیشرفته متره و برآورد به زبان VBA در اکسل آشنا کنم که به صورت خودکار صفحات، جداول و گزارشهای مالی، خلاصه مقادیر و داشبورد تحلیل هزینهها را ایجاد و مدیریت میکند.
معرفی کلی پروژه
این پروژه VBA شامل یک ماژول اصلی به نام BuildEstimatorPro
است که با اجرای آن یک سیستم متره و برآورد پیشرفته در قالب چند شیت در یک فایل اکسل ایجاد میشود. هدف از این سیستم، سهولت و سرعت در محاسبه هزینهها، دستهبندی پروژههای عمرانی و ارائه گزارشهای مالی قابل اتکا است.
توضیح کامل بخشهای کد
1. متغیرهای ثابت
در ابتدای کد دو مقدار ثابت تعریف شدهاند که نرخ مالیات (TAX_RATE
) و نرخ حق بیمه یا هزینههای جانبی (CONT_RATE
) را مشخص میکنند.
Const TAX_RATE As Double = 0.09 Const CONT_RATE As Double = 0.05
2. تابع اصلی BuildEstimatorPro
این تابع اجرای کل فرایند ساخت سیستم متره و برآورد را انجام میدهد:
-
ابتدا حالت بهروزرسانی صفحه و هشدارهای اکسل را غیر فعال میکند تا اجرای کد سریعتر و بدون اخطار باشد.
-
سپس توابع کمکی برای پاک کردن شیتهای قبلی، ایجاد شیتهای جدید، قالببندی یکنواخت، بارگذاری لیست قیمت نمونه، ایجاد جدول ریز متره (BOQ)، خلاصه مقادیر، گزارش مالی، سناریوها، داشبورد و دکمههای عملیاتی را به ترتیب فراخوانی میکند.
-
در انتها نمایش هشدارهای اکسل و بهروزرسانی صفحه را فعال کرده و پیغام موفقیت را نشان میدهد.
3. پاک کردن شیتهای قدیمی ClearOld
این زیرروال شیتهایی که نامهای مشخص دارند (مثل "ليست بها"، "ريز متره"، "خلاصه مقادير" و ...) را از فایل پاک میکند تا از وجود اطلاعات قبلی پاکسازی شود.
4. ایجاد شیتهای مورد نیاز CreateSheets
در این قسمت شیتهایی با نامهای استاندارد برای پروژه ایجاد میشود:
-
"ليست بها" : لیست قیمتها و آیتمهای پروژه
-
"ريز متره" : جدول جزئیات اقلام متره
-
"خلاصه مقادير" : گزارش خلاصه هزینهها بر اساس دستهبندی
-
"گزارش مالي" : گزارش مالی نهایی پروژه
-
"داشبورد" : داشبورد نمایش نمودارها و تحلیلها
-
"سناريوها" : برای شبیهسازی و تحلیل سناریوهای مختلف
-
"راهنما" : صفحه راهنمای کاربری
5. قالببندی یکنواخت صفحات FormatSheetsUniform
تمام شیتها با فونت یکسان "IRANSans"، اندازه ۱۱ و تنظیمات وسطچین افقی و عمودی تنظیم میشوند و رنگ تب (Tab) شیتها نیز به رنگ آبی روشن اختصاص مییابد.
6. بارگذاری لیست قیمت نمونه LoadSamplePriceList
در این بخش نمونهای از لیست قیمت با چند آیتم (کد، شرح، واحد، قیمت واحد، و دستهبندی) در شیت "ليست بها" درج میشود. همچنین این دادهها به صورت یک جدول ساختاریافته (ListObject) با نام tblPrice
تعریف میشوند.
7. تنظیم جدول ریز متره (BOQ) SetupBOQ
این قسمت شیت "ريز متره" را برای ورود دادههای متره آماده میکند:
-
ستونهایی مانند "رديف" (ردیف)، "کد"، "شرح"، "واحد"، "بهاي واحد"، "مقدار" و "جمع جزئي" ایجاد میشود.
-
جدول
tblBOQ
تعریف شده و برای هر ستون فرمولهایی جهت بازیابی شرح، واحد و قیمت از جدول قیمت، محاسبه جمع جزئی با ضرب مقدار در بهای واحد قرار داده میشود. -
قالببندی شرطی برای مقادیر بزرگ (بیش از ۱۰ میلیون تومان) با رنگ قرمز اجرا میشود.
8. افزودن ستون "دسته" به جدول ریز متره AddCategoryToBOQ
این تابع ستون جدید "دسته" را به جدول tblBOQ
اضافه میکند و با استفاده از دیکشنری کدها و دستهها از جدول قیمت، دسته مربوط به هر ردیف را در ریز متره پر میکند. اگر کدی در لیست قیمت نباشد، مقدار "نامشخص" ثبت میشود.
9. ساخت گزارش خلاصه مقادیر SetupSummary
در شیت "خلاصه مقادير":
-
دستههای منحصربهفرد از جدول ریز متره استخراج شده و در ستون اول لیست میشوند.
-
برای هر دسته هزینه کل محاسبه شده با استفاده از تابع
SUMIFS
روی جمع جزئیهای ریز متره انجام میشود. -
سهم درصدی هر دسته نسبت به کل هزینه محاسبه و فرمت درصدی داده میشود.
-
قالببندی جدول شامل خطوط حاشیه و رنگ پسزمینه برای سطر عنوان نیز اعمال میشود.
10. ساخت گزارش مالی (توضیح ناقص در ارسال شما)
در بخش گزارش مالی، شیت "گزارش مالي" با فونت آماده میشود. این شیت معمولاً شامل محاسبه جمع کل هزینهها، مالیات و سایر هزینههای مرتبط بوده و گزارش نهایی مالی پروژه را نمایش میدهد. (توضیح کاملتر این بخش در ادامه کد قابل توسعه است.)
نتیجهگیری
کد VBA ارائه شده یک چارچوب کامل و کاربردی برای ایجاد سیستم متره و برآورد در اکسل است که با کمی توسعه و شخصیسازی میتواند به عنوان یک ابزار قدرتمند در پروژههای عمرانی، ساختمانی و صنعتی مورد استفاده قرار گیرد.