ماکرونویسی

اینکه ماکرونویسی یا به تعبیری VBA در اکسل را چه زمانی شروع کردم به سال های دور بر می گردد. اواسط سال 1375 به واسطه درسی تحت عنوان «مبانی کامپیوتر و انفورماتیک» با تکنیکی بنام برنامه نویسی آشنا شدم. در آن زمان دانش آموز سال سوم دبیرستان در رشته ریاضی فیزیک بودم و بزرگترین رویاهای من یادگیری تکنیک برنامه نویسی، تسلط در زبان انگلیسی و نیز کسب عنوان قهرمانی در رشته شطرنج بود. جالب آنکه سه موضوع از خواسته های چهارگانه یعنی برنامه نویسی، ریاضی ـ فیزیک و شطرنج همراستا بودند و با تسلط در برنامه نویسی می توانستم در دو تخصص دیگر نیز حرف هایی برای گفتن داشته باشم.

تمام علائقم را بطور موازی دنبال کردم و کسب مهارت در برنامه نویسی را در رأس تمام امور قرار دادم. پس از اخذ کارت پایان خدمت سربازی و با ورود به دانشگاه و آشنایی با دروس جذاب فنی ـ مهندسی، مختصر مهارتی که طی این بازه زمانی (شروع یادگیری برنامه نویسی تا ورود به دانشگاه) کسب کرده بودم سبب می شد درکی بهتر از مسائل داشته و قادر به حل پاره ای از دشوارترین تکالیف باشم. در آن دوران برنامه نویسی در ویژوال بیسیک و C خلاصه می شد و با توجه به شباهت زبان های برنامه نویسی و مختصر تسلطی که در ویژوال بیسیک و پاسکال داشتم، به سرعت موفق به یادگیری غول دنیای برنامه نویسی، ++C و پس از آن دیگر زبان هم خانواده آن، #C شدم. این امر کمک نمود تا پیش از انتخاب و گذراندن درس محاسبات عددی قادر به حل عددی بسیاری از معادلات انتگرال بوده و انتگرال های معین را به راحتی منتج به نتیجه سازم! با اخذ نتایج مطلوب از فرآیند یاد شده و با کمک دوستان نزدیکم (تقریبا تمامی دوستان صمیمی ام در رشته مهندسی نرم افزار تحصیل کرده اند) رفته رفته مهارت خود را در برنامه نویسی افزایش دادم و با مطالعه کتابی شگفت انگیز تحت عنوان “A Guide to Microsoft Excel 2002 for Scientists and Engineers” دریچه ای جدید به رویم باز شد و با ابزاری توانمند آشنا شدم که مرا قادر نمود در سال سوم و چهارم دوره دانشجویی دروسی تخصصی مانند هیدرولیک، هیدرولیک انهار، مهندسی زهکشی، طراحی سیستمهای آبیاری، آبرسانی شهری و تأمین آب مشروب روستاها و درس بسیار مفهومی اما شیرین هایدروژئولوژی را تماما با نمراتی بالاتر از 18 پاس کنم. (هیدرولیک 18/5، هیدرولیک انهار 19/5، مهندسی زهکشی 20، طراحی سیستمهای آبیاری20، آبرسانی 20 و هایدروژئولوژی 19).

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

به یُمن حضور میمون و مبارک دانش برنامه نویسی قادر بودم به مراتب بهتر از دیگر هم دوره هایم از اکسل استفاده کنم. با تلفیق اکسل و ویژوال بیسیک ( VBA در اکسل ) می توانستم معادلات انتگرال، معادلات دیفرانسیل، معادلات پیچیده هایدرولیک جریان در مجاری روباز، هایدرولوژی، هایدروژئولوژی، زهکشی و … را با روشهای حل عددی و صرف زمانی کمتر از 30 دقیقه (در حالات بسیار پیچیده و در شرایط مرزی) حل کنم. اگرچه در این میان از نرم افزارهای دیگری نیز بهره می بردم که در کنار حل عددی مرا قادر به مشاهده نتایج بصورت عینی می نمود و در جای خود همه روزه لذّتی وافر نصیبم می ساخت، برنامه نویسی همیشه یکی از بزرگترین علائقم بوده و احتمالا خواهد بود. تسلط واقعی بر اکسل در دوره کارشناسی ارشد بیش از هر زمان دیگر فریادرسم شد و مرا در کسب نتایج بسیار درخشان یاری داد. (اخذ سه نمره 20 در دروس زهکشی تکمیلی، آبیاری قطره ای و آبرسانی شهری از استاد استادان، پرفسور کشکولی نازنین و عزیز که هر کجا هست خدایا به سلامت دارش!)

VBA در اکسل آرش ازکیاپس از قبولی در مقطع دکتری و جذب شدن در دانشگاه، مشاهده دانشجویانی که کمترین آشنایی با اکسل و VBA در اکسل نداشتند برایم بسیار عجیب و حیرت انگیز بود! در کنار توصیه های همیشگی به دانشجویان نازنینم جهت کسب این مهارتِ بسیار کاربردی، بر آن شدم تا نتیجه تجربیاتم را در اختیار ایشان قرار دهم. برگزاری چند دوره آموزش رایگان «اکسل مهندسی» برای دانشجویان مهندسی علوم آب سبب شد در چهارمین سال از ارائه این Course آموزشی دانشجویانی از دیگر دانشگاه ها و دیگر رشته ها نیز به کسب مهارت واقعی در اکسل علاقمند شده و در آخرین دوره ای که در دانشگاه کرج برگزار نمودم، پذیرای دانشجویان شریفی از دانشگاه های آزاد اسلامی، پیام نور، خوارزمی، علم و صنعت، تربیت مدرس و دانشگاه تهران در رشته های اقتصاد، فیزیک، نقشه برداری، عمران و مهندسی علوم آب بودم.

حتما بخوانید  تحلیل روند در سری های زمانی | ساخت ماتریس با حلقه‌های For چندگانه

آری، پس از آنکه مهارت رانندگی را آموختید، هدایت انواع مختلف از اتومبیل های گوناگون ممکن خواهد شد! با یادگیری الفبا می توان به نگارش انواع سبک های ادبی دست زد و پس از کسب تسلط و اخذ مهارت در اکسل مهندسی و ماکرونویسی قادر به تعمیم دانش خود در تمام زمینه ها علمی هستید! در فاصله کوتاه بین دوره کارشناسی و کارشناسی ارشد به واسطه یک دوست مشترک جهت نوشتن برنامه ای جامع برای انجام امور مالی و اداری به نیروگاه آبادان دعوت شدم و علیرغم آنکه کمترین اطلاعات لازم جهت حسابداری و امور مالی را نداشتم، در یک بازه زمانی 21 روزه و با مشاوره هایی که از مدیر امور مالی کسب می کردم برنامه کذایی را نوشته و تحویل مدیر اداری وقت دادم. این امر آن زمان، در بازه زمانی کمتر از یک ماه و در یک تخصص کاملا غیر مرتبط برایم پنج میلیون تومان درآمد زایی کرد که با توجه به ارزش ریال در انتهای هشتمین دوره ریاست جمهوری اسلامی ایران و زمان اندکی که صرف انجام کار شد برای جوانکی بیست و چند ساله مبلغی در خور توجه بود! تسلّط در اکسل مهندسی سبب شد تا در سال 1391 به موازات اشتغال به تدریس در دانشگاه به سمت مدیریت کارگزینی (و بعدها مدیریت امور اداری) یکی از بزرگترین کارخانجات نورد و تولید میلگردهای فولادی منصوب گردم. اما موضوعی که شاید از تمام این دستاوردهای مالی و شغلی بزرگتر باشد، لذّتی است که تقریبا همه روزه از غرق شدن در کدهای دست نوشت خود می برم. ماکرونویسی سبب گشته تا با غور و تعمق در مسائل مهندسی علوم آب کدهایی کاربردی و تکنیکال بنویسم که لذّتی فراتر از تصوّر را برایم رقم می زند. لذّتی که تا تجربه نگردد قابل لمس نخواهد بود!

هر علم دریچه ای جدید به روی فرد خواهد گشود. دریچه ای که اگرچه همواره حضور داشته، لاجرم به دلیل نادیده گرفته شدن، هیچگاه فرصت عرض اندام نیافته است. زمانی که این دریچه ها که گنجینه های حقیقی را به فرد تقدیم می دارند کشف گردد، لذتی را به دارنده آن تفویض خواهند نمود که وصف ناشدنی بوده و بنا بر اصطلاحی مبالغه آمیز «در کلام نمی گنجد!» دانش استفاده از کدینگ و VBA در اکسل نیز یکی از ستاره های کشهکشان بلند مرتبه علم است که همچون دیگر همقطارانِ خود، فرد را از چنان موهبت، برخوردار خواهد ساخت! چنانچه معروض گشت علم متضمن کسب ثروت خواهد بود مع الوصف ثروتی فراتر و بزرگتر از زمان متصور نیست.

حتما بخوانید  مروری بر نظرات دونالد ترامپ در خصوص تغییرات آب و هوایی به بهانه پیروزی او در انتخابات آمریکا

دانش ماکرونویسی و VBA در اکسل قادر است هفته ها را به ثانیه ها تبدیل سازد! چگونه؟ تصور بفرمایید در محدوده معینی از یک حوضه آبریز دویست حلقه چاه موجود است. برای دسته بندی چاه هایی که تراز پیزومتریک آنها از حد مشخصی کمتر یا بیشتر است و ذکر نام و مختصات جغرافیایی و دیگر اطلاعات مربوطه چقدر زمان صرف خواهید کرد؟ یک روز؟ دو روز؟ بیشتر؟ حال اگر بتوان بجای دویست حلقه چاه، اطلاعات مربوطه را در مورد دو هزار حلقه چاه و در بازه زمانی حدودا پنج تا نهایتا ده ثانیه بدون کمترین لغزش یا خطای انسانی به انجام رساند چه میزان وقت جهت انجام دیگر امور کاری ذخیره شده است؟ برای برآورد قطر اقتصادی در مورد لوله های موجود در یک شبکه آبرسانی چه میزان زمان لازم است؟ شاید پاسخ دهید با توسل به نرم افزار WaterGEMS برای مثلا 1000 خط لوله حداکثر یکی دو روز. برای این حجم از کار زمان بسیار خوبی است ولی علی ای حال بسیار مایلم تا نظر سروران را در مورد استفاده از VBA و صرف زمانی در حدود سی ثانیه جویا شوم!

مثال ها و نمونه هایی از این دست فراوان هستند و کاربرد روز افزون اکسل در علوم مختلف نیز بر هیچکس پوشیده نیست. مع الوصف به راستی چند تن از مهندسین علوم آب قادرند با صرف کمترین زمان ممکن از حداکثر توانایی موجود در اکسل به نفع خود منتفع گردند؟ دوره استادی ماکرونویسی (VBA) این امکان را فراهم خواهد ساخت تا همچون یک استاد کارآزموده و مجرب قادر به تولید کدهای Customized در امور کاری و تحصیلی خود بوده و معادلات و مجهولات را با حداکثر دقت ممکن و تنها با چند کلیک ساده و صرف زمانی در حدود چند ثانیه محاسبه نمایید.

ماکرونویسی VBA در اکسل

آرش ازکیا
اگر دورتر ها را دیدم، بر دوش بزرگان ایستاده بودم!
نظر خود را بنویسید:
ثبت دیدگاه
دیدگاه های کاربران
نجمه
00:38 - 1398/07/03
پاسخ دهید

باعرض سلام وادب دانشجو ارشد مهندسی آب هستم خیلی به ماکرونویسی علاقه دارم میخواستم بدونم برای رشته مهندسی آب گرایش طراحی زهکشی موضوعی برای پایان نامه دراین زمینه هست ؟با تشکر

    آرش ازکیا
    02:38 - 1398/07/03
    پاسخ دهید

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

    ضمنا در تحلیل مباحث کیفیت آب می توان به جریان برگشتی نیز اشاره کرد و میزان پارامترهای کیفی ناشی از جریان برگشتی را نیز مورد توجه قرار داد.

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

محمدی
14:28 - 1398/03/22
پاسخ دهید

باسلام و احترام
مطالعه ای دارم در مورد مدلسازی بارش رواناب با موج سینماتیک
آیا امکانش هست که بجای نرم افزار متلب، از نرم افزار Exel برای اینکار استفاده کنم ؟؟ و اگر پاسخ مثبته، محبت مبکنبد راهنمایی بفرمایید ؟؟

سپاس از بذل توجهتون

    فاطمه قربانی
    14:31 - 1398/03/22
    پاسخ دهید

    با سلام و ادب
    بله. از هر دو نرم افزار می تونید اینکار رو انجام بدید. می تونید با دفتر تماس بگیرید و راهنمایی لازم را دریافت نمایید.

همایون مقیمی
18:40 - 1398/03/19
پاسخ دهید

با سلام
برنامه نویسی جالبی است نحوه استفاده آن در مسائل و منابع آب چگونه است و در این مورد از کجا می توان اطلاعات و روش یادگیری را بدست آورد. آیا سخت است امکان یادگیری چگونه است(بنده 61 ساله هستم) آیا می توانم یاد بگیرم یا نه؟ لطفا راهنمایی فرمائید
با تشکر

    آرش ازکیا
    21:41 - 1398/03/19
    پاسخ دهید

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

کاربرد ماکرونویسی در نرم افزار WaterGems - انجمن تخصصی مهندسی علوم آب
12:12 - 1397/07/05
پاسخ دهید

[…] از امکانات جذاب در زبان برنامه نویسی VBA (ماکرونویسی در اکسل) امکان مدیریت و کار بر روی فایل هاست. اگرچه همواره می […]

مهندسی که ماکرونویسی در اکسل رو ندونه، مهندس نیست! - انجمن تخصصی مهندسی علوم آب
07:18 - 1397/02/28
پاسخ دهید

[…] برنامه نویسی تحت عنوان ماکرو نویسی وجود دارد. اصطلاح VBA همان مخفف عبارت Visual Basic for Applications است که در واقع زبان […]

لطفا صبر کنید