مجموعه آفیس مایکروسافت (MicroSoft Office) از پرکاربردترین و مهمترین مجموعه نرم افزار رایانه ای در جهان است که یکی از نرم افزارهای پر کاربرد آن، نرم افزار اکسل (Excel) است. مدارس و دانشگاهها، ادارات دولتی و خصوصی، فروشگاهها، کاربران عادی و بسیاری دیگر از این نرم افزار استفاده میکنند. در اکسل به دو شیوه میتوان دادهها را مدیریت و برنامه ریزی کرد یکی روش فرمول نویسی و دیگری برنامه نویسی، که در این مطلب قصد داریم درمورد برنامه نویسی در اکسل با VBA، صحبت کنیم. پس با ما همراه باشید.
VBA مخفف Visual Basic for Applications یک زبان برنامه نویسی است که در مجموعه برنامههای آفیس استفاده میشود. همینجا باید متذکر شویم که VBA در نرم افزارهای تخصصی دیگر از جمله AutoCad، ARCGIS و غیره نیز قابل استفاده است.
این زبان در واقع زیر مجموعهای از Visual Basic 6.0 است که شباهتهایی هم به زبان VB دارد اما این دو از یکدیگر جدا بوده و زبانهای برنامهنویسی متفاوتی هستند. زبان VB بیشتر برای توسعه برنامه دسکتاپ مورد استفاده قرار میگیرد، در صورتی که از زبان VBA فقط میتوانیم در محیط برنامههای دیگر نظیر اکسل، استفاده کنیم.
در اکسل کارهای متنوعی میتوان انجام داد از جمله ذخیره اطلاعات مشتری، ذخیره نمرات دانش آموزان و دانشجویان، تحلیل علمی داده ها، ایجاد نمودار از پایگاه داده، ایجاد فرم ها، بودجه بندی و پیش بینیهای مالی و موارد بسیار دیگری که میتوانیم نام ببریم.
در تمامی موارد ذکر شده میتوان با استفاده از زبان VBA در اکسل کدی نوشت که قسمتی از اکسل، کاری را به صورت خودکار انجام دهد و لازم نباشد کاربر خود به صورت دستی همان کار را انجام دهد. به عنوان مثال میتوان یک برنامه ثبت سفارش خرید و فروش کالا را با خروجیهای مختلف ایجاد کرده و اطلاعات را ساماندهی و گزارشهای ماهیانه و سالیانه تهیه کرد.
VBA در اکسل، به طور خودکار اکسل را نرم افزار میزبان فرض میکند و دیگر لازم نیست در ابتدای کدها حتما نوع نرم افزار (به عنوان مثال ورد، اکسل، پاورپونت و …) را مشخص کنیم. به جز مواردی که بخواهیم از طریق برنامه نویسی در اکسل، نرم افزارهای دیگری را کنترل کنیم.
تقریبا هر کاری را که در اکسل انجام میدهیم، میتوانیم روال انجام آن را بصورت خودکار کنیم. برای این کار، باید دستورالعمل هایی را وارد کنیم که اکسل انجام دهد. خودکارسازی کار در اکسل با استفاده از زبان VBA مزایای مختلفی دارد از جمله میتوان به موارد زیر اشاره کرد:
هر کاری که مزایا دارد، معایبی هم به همراه خواهد داشت. چند مورد از معایبی که برنامه نویسی در اکسل دارد از این قرارند:
در ادامه سعی میکنیم با یک مثال ساده، شما را با نحوه برنامه نویسی در اکسل آشنا کنیم. در برنامهی ما، فرمی نمایش داده میشود و نام کاربر را میپرسد، سپس کاربر با واردکردن نام خود، پیغامی دریافت میکند.
قبل از اینکه بتوانیم کدنویسی را آغاز کنیم، نیاز داریم کمی با اصول اولیه برنامه نویسی آشنا شویم. مبانی زیر برای شروع کار به ما کمک میکند:
برای استفاده از VBA در اکسل باید گزینه توسعه دهنده را فعال کنیم تا زبانه Developer برای ما نمایش داده شود که برای این کار از طریق منوی File به بخش Options می رویم و سپس گزینه Ribbon Customize را کلیک میکنیم.
ضمنا میتوانیم به صورت میانبر روی هر کدام از زبانهها راست کلیک کنیم و گزینه Customize the Ribbon کلیک کنیم. در بخش Ribbon Customize از قسمت Main Tabs گزینه Developer را فعال میکنیم.
اکنون نحوه کد نویسی در VBA را بررسی میکنیم. تمام برنامه VBA باید با “Sub” شروع و با “End Sub” پایان یابد. در کنار sub نامی که میخواهیم به برنامه اختصاص دهیم نوشته میشود. تکه کد زیر، پایه تمامی کدهایی هست که خواهیم نوشت.
Sub name()
.
.
End Sub
یک WorkBook جدید باز میکنیم و به زبانه Developer میرویم و از قسمت Controls روی جعبه کشویی Insert کلیک میکنیم و دکمه فرمان را مطابق تصویر انتخاب میکنیم.
می توانیم دکمه ایجاد شده را به هر کجا که خواستیم منتقل کنیم. بعد از تثبیت دکمه، پنجره محاوره ای زیر نمایان میشود.
نام ماکرو را به btnHelloWorld_click تغییر میدهیم و روی گزینه New کلیک میکنیم که پنجره کد نویسی نمایش داده میشود.
کدهای دستورالعمل زیر را وارد میکنیم
Dim name As String
name = InputBox(“لطفا نام خود را وارد کنید”)
MsgBox “ سلام” + name
که در اینجا:
پنجره کامل شده کد کامل باید به شکل زیر باشد
پنجره کد را میبندیم و بر روی Button 1 راست کلیک کرده و Edit text را انتخاب میکنیم و نام آن را به “گفتن سلام” تغییر میدهیم. اکنون روی دکمه گفتن سلام کلیک میکنیم و در کادر ورودی نام خود را وارد کرده و تایید میکنیم. با انجام این کار، کادر پیغام سلام نمایش داده میشود.
خب تبریک! ما موفق شدیم اولین برنامه خود را با VBA در اکسل بنویسیم. این فقط یک مثال ساده بود که جهت آشنایی شما با این زبان برنامه نویسی آورده شد. VBA به قدری قدرتمند است که میتوان برنامههای بسیار پیچیده ای در آن کد نویسی کرد.
با توجه به طیف گستردهی کاربران اکسل و نیز کاربردی بودن آن، لزوم خودکارسازی کارها در اکسل به شدت احساس میشود. زبان برنامهنویسی VBA با قدرت و توانایی هایی که دارد، توانسته در محیط اکسل، امکاناتی برای کاربران مهیا کند که آنها را از انجام کارهای تکراری و پیچیده خلاص کند.
ما در این مقاله گفتیم که VBA چیست و چه مزایا و معایبی دارد. با یک مثال خیلی ساده، شما را با محیط کدنویسی VBA آشنا کردیم و این میتواند شروعی برای کارهای بزرگتر باشد. هر فردی که علاقمند به مباحث اکسل و برنامه نویسی در اکسل است، میتواند با مراجعه به منابع آموزشی فراوانی که برنامه نویسی VBA دارد، آغاز به برنامه نویسی در این حوزه کند.
شما تا به حال با VBA برنامه نویسی کرده اید؟ نظر شما درمورد این زبان برنامه نویسی چیست؟
این تاپیک رو بررسی فرمایید.