دنیای برنامه نویسی به قدری گسترش یافته است که تقریبا هیچ کاری نیست که نشود با آن انجام داد. از ساخت وب سایتها گرفته تا داستان برنامه نویسی هوش مصنوعی و بسیاری از داستانهای دیگر. یکی از کاربردهای برنامه نویسی که شاید خیلیها با آن آشنا نباشند، کد نویسی در محیط نرمافزارهای آفیس است. همه شما با برنامههای آفیس مانند، ورد، پاورپوینت، اکسل و بقیه آنها آشنایی دارید. اما سخن امروز ما در رابطه با اکسل است. اکسل یک نرمافزار از مجموعه نرمافزاری قدرتمند آفیس است. در سال ۲۰۱۶ مدیر عامل مایکروسافت گفت که اگر میتوانید به دنیای بدون اکسل فکر کنید و خود گفت من که نمیتوانم. اکسل آنقدر محبوب است که در سال ۱۹۹۶ نزدیک به ۳۰ میلیون کاربر داشت و در حال حاضر بیشتر از ۷۵۰ میلیون کاربر دارد.
این نرمافزار در ارگانهای دولتی و خصوصی کاربرد دارد از جمله دانشگاهها، مدارس و فروشگاهها. در اکسل شما باید دادههای دریافتی را مدیریت کنید و این کار با دو روش انجام میشود، یکی از طريق فورمول نویسی و دیگری از طریق برنامه نویسی، حالا ما در این مقاله قصد دارهم در رابطه با روش دوم با شما صحبت کنیم.
برای درک این مطلب نیاز به آشنایی با موارد زیر را دارید:
- آشنایی مقدماتی تا متوسط با مایکروسافت اکسل
- داشتن آخدین نسخه از نرمافزار مایکروسافت اکسل، اما نسخه نسخه ۲۰۱۶ و ۲۰۱۳ هم به خوبی کار میکنند
- انگیزه برای یادگیری چیزهای جدید
- آشنایی با مقدمات برنامهنویسی
مدیریت و تحلیل دادهها با کدنویسی اکسل
همانطور که در بالا گفتیم یکی از روشهای مدیریت و تحلیل دادهها کدنویسی در اکسل است که شاید کمتر کسی از آن خبر داشته باشد یا به گوشش خورده باشد. برای کدنویسی و برنامه نویسی در اکسل (Excel) نیاز به یک زبان برنامه نویسی دارید که نام این زبان برنامه نویسی VBA است و شما برای این که بتوانید در محیط اکسل کدنویسی کنید حتما باید با آن آشنایی داشته باشید. VBA مخفف عبارت Visual Basic for Applications است که در ابتدا احتمالا بگویید که همان زبان برنامه نویسی Visual Basic است، درست است که این دو زبان شباهتهای زیادی با هم دارند اما در واقع دو زبان برنامه نویسی متفاوت هستند و کاربردهای خاص خود را دارند.
کد نویسی در اکسل با VBA
VBA یک زبان برنامه نویسی قابل استفاده در محیطهای نرمافزارهای آفیس نظیر Excel است که در محیطهای دیگری نظیر AutoCAD نیز مورد استفاده قرار میگیرد. کد نویسی در اکسل با این زبان به راحتی قابل انجام است.
همانطور که در بالا گفتیم این زبان با زبان برنامه نویسی Visual Basic تفاوت زیادی دارد. زبان برنامه نویسی Visual Basic برای برنامه نویسی اپلیکیشنهای ویندوزی استفاده میشود اما VBA فقط در محیط های بالا قابل اجرا است و خارج از این محیطها کارایی ندارند.
VBA کاربردهای زیادی در اکسل دارد از جمله: ذخیره دادهها، ایجاد نمودار از دادههای بانک اطلاعاتی، ایجاد فرمها و خیلی موارد دیگر که بعضی از این کارها با استفاده از روش دستی بعضی وقتها بسیار دشوار و یا اصلا نشدنی است. با استفاده از زبان VBA میتوان کدی در اکسل نوشت که بعضی از کارها را به شکل اتوماتیک و خودکار انجام دهد و نیاز به انجام دستی آن کار نباشد.
VBA به طور خودکار نرمافزار پیش فرض را، اکسل در نظر میگیرد و نیازی به مشخص کردن آن نیست، ولی در مواردی که بخواهیم با استفاده از برنامه نویسی در اکسل نرمافزار دیگری را کنترل کنیم، باید حتما آن را مشخص کنیم.
هر زبان برنامه نویسی برای خودش مزایا و معایبی دارد و VBA هم از این قائده مستثنا نیست.
مزایای برنامه نویسی VBA در اکسل
میتوان گفت که در اکسل میشود هر کاری را به شکل خودکار در آورد. این خودکار سازیها با کد نویسی اکسل VBA مزایایی دارد که در ادامه آنها را بررسی میکنیم:
- ثبات در کارها با استفاده از انجام کارها به همان روشی که کدنویسی شده است
- میتوان سرعت انجام کارها را با خودکار سازی وظایف بالاتر برد
- نوشتن دستورات به شکل درست باعث میشود که هر کسی که با اکسل آشنا باشد از طریق ماکروها کارها را انجام دهد
- میتوان با این روش کارهایی که تقریبا غیر ممکن هستند را ممکن کرد
- مهمترین مزیت هم خودکار سازی کارها و صرفه جویی در وقت است
معایب برنامه نویسی VBA در اکسل
هیچ تکنولوژی بی عیب نیست و حتما معایبی برای استفاده دارد و در زیر ما معایب استفاده از برنامه نویسی با اکسل VBA را برای شما لیست کردهایم:
- برای نوشتن کد در اکسل باید کار با VBA را بلد باشیم، البته آنچنان یادگیری سختی ندارد
- امکان ارائه برنامه به شکل مستقل وجود ندارد
- بعضی از مواقع باید به دنبال اشکال زدایی و عیب یابی کدهای نوشته شده باشیم
- در مواردی به دلیل تغییرات نسخه نرمافزار ممکن است برنامه به درستی کار نکند
راه اندازی اکسل برای کدنویسی با VBA
برای نوشتن کدهای VBA، شما نیاز به تب Developer دارید که شکل آن به صورت زیر است
اگر تب Developer را ندارید، به شکل زیر عمل کنید:
- منوی File را باز کنید
- گزینه Options را باز کنید
- گزینه Customize ribbon را انتخاب کنید
- در Customize Ribbon و در تب Main، چک باکس Developer را انتخاب کنید
بعد از این مراحل تب Developer برای شما نمایش داده میشود، در غیر این صورت احتمالا یا باید اکسل را ببندید و مجدد باز کنید و یا باید آن را حذف و دوباره نصب کنید.
محیط کدنویسی VBA در اکسل
هر زبان برنامه نویسی نیاز به یک محیط برای کدنویسی دارد که برای VBA به شکل زیر است.
در محیط اکسل به تب Developer بروید و روی دکمه Visual Basic کلیک کنید. یک پنجره جدید برای شما باز خواهد شد که به آن محیط Visual Basic گفته میشود. که در این پنجره شما به آشنایی با دو قسمت حیاتی نیاز دارید، یکی قسمت Project Explorer و دیگری قسمت Project Propertices است.
ایجاد فایل برای کدنویسی با اکسل
قبل از این که مثالی از کدنویسی VBA برای شما بیاورم، بیایید تا محیط کدنویسی را آماده کنیم، پس مراحل زیر را طی کنید:
- یک فایل جدید در اکسل باز کنید
- آن را با پسوند xlsm ذخیره کنید
- تب Developer را انتخاب کنید
- محیط کدزنی VBA را باز کنید
خب الان نوبت این است که یک مثال ساده برای شما بیاوریم تا شما با کد نویسی در این محیط آشنا شوید.
یک مثال ساده در VBA
در این مثال با ورود به فایل، یک پیام به شما نمایش داده میشود.
شروع کدنویسی در VBA با کلمه sub آغاز میشود و با کلمه end به پایان میرسد.
در محیط کد VBA گزینه insert را انتخاب کنید و new module را کلیک کنید و کدهای زیر را در آن بنویسید(copy، paste نکنید)
Sub Auto_Open()
MsgBox ("Welcome to the XYZ Workbook.")
End Sub
این فایل را ذخیره کنید, محیط را ببندید و دوباره آن را باز کنید. حال باید پنجره زیر را مشاهده کنید.
تبریک میگم، شما موفق به نوشتن اولین برنامه خود در اکسل با VBA شدید.