آموزش کد نویسی در اکسل | آشنایی با برنامه نویسی VBA در اکسل
مجموعه نرم افزار قدرتمند و پرطرفدار آفیس از شرکت مایکروسافت توانسته است به خوبی در تمامی زمینه های کاری و شخصی افراد جایگاه خود را پیدا کند. یکی از مهمترین برنامه های موجود در مجموعه آفیس، نرم افزار اکسل Excel است که آموزش های متنوعی برای آن وجود دارد، یکی از این موارد آموزش کد نویسی در اکسل است که آن را مانند یک زبان برنامه نویسی کامل بسیار کاربردی کرده است.
با کسب یادگیری در زمینه ی آموزش برنامه نویسی VBA می توان محیط صفحه گسترده ی اکسل را به یک ابزار کد نویسی جذاب تبدیل کرد. در ادامه می خواهیم در مورد کد نویسی و ماکرو نویسی در اکسل آشنا شویم، پس با ما همراه باشید.
برنامه نویسی VBA چیست؟
تعریف : زبان VBA یک زبان کد نویسی در اکسل و سایر برنامه های مجموعه آفیس است که می توان از این زبان برای ایجاد برنامه های هوشمند همراه با کدهای متنوع برنامه نویسی بهره برد.
عبارت VBA مخفف Visual Basic for Applications است که به معنی زبان برنامه نویسی ویژوال بیسیک برای نرم افزار ها می باشد.
زبان VBA ویژوال بیسیک را می توان در کلیه نرم افزارهای مجموعه آفیس استفاده کرد.
علاوه بر کاربرد VBA در برنامه های Office از این زبان می توان در برنامه های تخصصی مانند ARCGIS و AutoCad و … استفاده کرد.
زبان VBA در اصل یک زیر مجموعه از زبان Visual Basic نسخه 6.0 است و به زبان ویژوال بیسیک (VB) بسیار شبیه بوده ولی با هم متفاوت هستند و 2 زبان مجزا به حساب می آیند.
تفاوت مهم زبان VB با VBA این است که از زبان VB می توان برای طراحی و توسعه نرم افزارهای تحت دسکتاپ و ویندوز استفاده کرد ولی برای کار با زبان VBA باید در محیط نرم افزاری مانند اکسل کد نویسی را انجام دهیم. به این خاطر زبان VBA دامنه ی کاربرد محدود تری نسبت به زبان VB دارد.
آشنایی با کاربردهای زبان VBA در اکسل
علاوه بر اینکه می دانیم نرم افزار صفحه گسترده اکسل چه مزایا و کاربردهای متنوعی در هنگام محاسبات و گزارش های آماری دارد، با آموزش کد نویسی در اکسل با زبان VBA کاربردهای اکسل دو چندان خواهد شد.
نرم افزار اکسل به تنهایی دارای کاربردهای جذابی مانند ذخیره سازی اطلاعات کابران و مشتریان، ذخیره سازی اطلاعات محصلین در مدرسه شامل نمرات و محاسبه معدل، تجزیه و تحلیل اطلاعات و داده های مختلف، طراحی نمودارهای جذاب گرافیکی برای تهیه گزارش آماری، طراحی فرم های ورود اطلاعات، ایجاد محیط حسابداری و امور مالی و …. می باشد.
حال علاوه بر اینکه از کاربردهای اصلی اکسل می توانیم استفاده کنیم، با بهره بردن از زبان برنامه نویسی VBA می توان در تمامی بخش های اکسل شروع به هوشمند سازی فرم ها و صفحات کنیم.
به این صورت که از اکسل بخواهیم فعالیت های خاصی را هنگام ورود اطلاعات انجام دهد و یا کارهای تکراری که کاربر هر بار باید انجام دهد را با وارد کردن کدهای برنامه نویسی برطرف کنیم.
مثال : به طور مثال برای بررسی یکی از کاربردهای زبان برنامه نویسی VBA در اکسل می توانیم برنامه ای جهت ایجاد سفارش خرید و فروش محصولات همراه با خروجی های مختلفی طراحی کنیم تا اطلاعات وارد شده را به صورت گزارش های دوره ای ساماندهی و تهیه کنیم.
با بهره بردن از زبان VBA دیگر نیازی به تعریف نرم افزار میزبان نیست ولی این زبان برنامه نویسی می تواند به صورت خودکار اکسل، پاورپوینت، اکسس یا نرم افزارهای دیگر را به عنوان نرم افزار میزبان معرفی کند، البته به جز مواردی که از طریق کد نویسی در اکسل بخواهیم برنامه های دیگر را کنترل کنیم.
با استفاده از آموزش مجموعه آموزش اکسل (Excel) فرادرس می توانید به کلیه ی مباحث تخصصی در این نرم افزار مسلط شوید.
مهمترین مزایای آموزش کد نویسی در اکسل
مگه میشه صحبت از کد نویسی و برنامه نویسی باشه و مزیتی وجود نداشته باشه؟
در اکسل که خود دارای امکانات و مزایای متعددی برای هر هدفی می باشد، می توانیم با استفاده از کد نویسی با VBA هر کاری که می خواهیم پیاده سازی کنیم تا روال انجام دادن آن را به صورت خودکار تعریف کنیم. جهت انجام این فرآیند باید در اکسل دستورالعمل و برنامه ریزی مشخصی را اجرا کنیم.
از مهمترین مزایای آموزش کد نویسی در اکسل با استفاده از زبان VBA، اجرای دستورات به صورت خودکار و زمانبندی شده است.
سایر مزایای زبان VBA در اکسل شامل :
- کاهش میزان ضریب خطا و اشتباه در اکسل هنگام کار با فرمول نویسی و ورود داده ها
- افزایش سرعت انجام کارها در اکسل با استفاده از کد نویسی در اکسل
- عدم نیاز به انجام فعالیت های تکراری با بهره بردن از کد های برنامه نویسی شده
- ایجاد ثبت در روال ها با استفاده از برنامه نویسی در اکسل
- عدم نیاز به انجام کارها به صورت دستی با ادغام نرم افزار اکسل و زبان برنامه نویسی
- انجام امور و ایجاد روال ها به صورت خودکار
- انجام کارهای غیر معمول با اکسل در مقایسه با سایر افراد بدون مهارت کد نویسی
معایب کد نویسی در اکسل با VBA
در کنار هر مزیت و کاربرد مفیدی می توان به بررسی و معرفی معایب یک ابزار اشاره کرد، استفاده از زبان VBA هم از این قاعده مستثنی نیست!
در ادامه برخی از معایب کد نویسی در اکسل را بررسی می کنیم :
1- شرکت مایکروسافت به عنوان متولی بروزرسانی مجموعه نرم افزارهای آفیس، همیشه در حال آپدیت برنامه های موجود در این مجموعه مانند نرم افزار اکسل است که این مورد باعث می شود برخی از اسلوب ها و کدهای نوشته شده در پروژه های قدیمی و یا جدید به خوبی کار نکنند.
2- اگر بخواهیم کد نویسی در اکسل را فرا بگیریم باید با زبان ویژوال بیسیک VB آشنایی داشته باشیم که این به معنی وجود پیشنیاز جهت یادگیری این ابزار در اکسل می باشد.
3- برای استفاده از زبان برنامه نویسی VBA حتما نرم افزار اکسل باید بر روی رایانه مورد نظر نصب شده باشد و البته نسخه ی اورجینال مجموعه آفیس دارای هزینه خرید می باشد.
4- ممکن است در برخی موارد کدهای نوشته شده با زبان VBA هنگام اجرای فرآیند و روال ها با خطا همراه باشد و در محاسبات مورد نظر اشتباه صورت گیرد و جهت رفع مشکل باید بررسی مجزایی انجام شود.
آشنایی با اصطلاحات اصلی در نرم افزار اکسل
قبل از اینکه وارد مبحث آموزش کد نویسی در اکسل شویم نیاز است با یک سری از تعاریف و اصطلاحات در اکسل آشنا شویم.
نرم افزار اکسل دارای محیط منحصر به فرد می باشد که شامل سطر و ستون های طولانی بوده که هر سلول دارای یک آدرس مخصوص به خود می باشد.
معمولا از نرم افزار اکسل جهت انجام فعالیت های محاسباتی و مالی استفاده می شود که اجرای عملیات های ریاضی را برای ما راحتتر می کند.
قبل از هر چیز نیاز است با یک سری از اصطلاحات مهم در اکسل آشنا شویم که شامل موارد زیر می باشد.
- سطر (Row)
به هر کدام از خانه هایی که به صورت افقی در محیط اکسل قرار دارند سطر گفته می شود. جهت تعریف هر سطر از اعداد استفاده می کنیم.
به هر میزان که می خواهیم سطر در اکسل وجود دارد و محدودیتی از این نظر نیست و هر مقدار سطر که بخواهیم می توانیم اضافه و کم کنیم.
- ستون (Column)
به هر کدام از خانه هایی که به صورت عمودی در محیط اکسل قرار گرفته اند، ردیف گفته می شود. برای اینکه بتوانیم ستون ها را از هم تشخیص بدیم باید هر ستون را با یک یا چند کاراکتر حرف انگلیسی تعریف کنیم.
حروف مورد استفاده در اکسل از حرف A شروع می شود و بعد از ستون حرف Z هم ، ستون AA می باشد و الی آخر به همین شیوه ستون ها نام گذاری می شوند.
فقط اینکه ما نمی توانیم کاراکتر حرفی ستون ها را حذف و یا تغییر بدهیم و ترتیب قرار گیری ستون ها غیرقابل تغییر هستند، یعنی همیشه ستون C بعد از ستون B خواهد بود.
- سلول (Cell)
وقتی سطر های عددی و ستون های حرفی با هم تلاقی پیدا می کنند یک سلول ایجاد خواهد شد که برای یافتن آدرس منحصر به فرد هر سلول کافی است آدرس ستون و سطر آن به ترتیب در کنار هم قرار بگیرند مانند سلول A1 که اولین سلول در اکسل است، نمونه های دیگر از آدرس سلول ها : B9 ، AB3 و …
- رشته (String)
وقتی هر سلولی را برای ورود اطلاعات انتخاب می کنیم و محتوای دلخواه خود را در آن وارد می کنیم، داده ای در آن سلول ذخیره می شود، به این داده های ذخیره شده در هر سلول، رشته می گویند.
در اصل ما از رشته ها برای محاسبات، برنامه نویسی و کد نویسی در اکسل استفاده می کنیم.
شروع کد نویسی در اکسل با زبان VBA
برای اینکه شروع به آموزش کد نویسی در اکسل کنیم باید نکاتی در نام گذاری متغیر ها و طرز استفاده از آنها بدانیم.
- عدم استفاده از فاصله در نام گذاری متغیر
در نام گذاری کلیه ی متغیرهایی که در کد نویسی و فرمول نویسی استفاده می کنیم نمی توانیم از کاراکتر فاصله استفاده کنیم و این نوع نام گذاری در اکسل قابل استفاده نیست ولی می توان مابین کلمات از کاراکتر های دیگری مانند آندرلاین (_) استفاده کرد، مانند : Youcode_ir
- انجام نام گذاری همراه با صفت
برای اینکه بخواهیم نام گذاری کدها را در زبان VBA انجام دهیم باید از صفت استفاده کنیم. به طور مثال اگر می خواهیم از وزن استفاده کنیم باید از سنگین یا سبک بودن آن استفاده کنیم.
- استفاده از علائم ریاضی
برای اینکه از عملگرهای ریاضی در کد نویسی استفاده کنیم باید عینا از همان کارکتر های اصلی استفاده کنیم.
این عملگرها و کاراکتر های آنها در چهار عمل اصلی ریاضی شامل موارد زیر می باشد :
ضرب (*) – تقسیم (/) – جمع (+) – تفریق (-)
- استفاده از فرمول های شرطی
از فرمول های شرطی که هنگام کد نویسی در اکسل می توانیم بهره ببریم، باید به همان صورت که در فرمول نویسی هست استفاده کنیم :
برخی از فرمول های شرطی در اکسل شامل موارد زیر می باشد :
IF , OR , NOT , TRUE , AND , FALSE
- عدم استفاده از نام های رزرو شده در متغیرها
هنگام تعریف نام متغیر نمی توانیم از نام هایی که قبلا رزرو شده اند استفاده کنیم. البته این مورد در اکثر زبان های برنامه نویسی صادق است و در زبان VBA هم کلماتی هستند که با مفهوم خاصی به صورت کلمات از پیش تعریف شده و رزرو شده منظور شده اند و ما نمی توانیم از این کلمات به هنگام تعریف متغیرها استفاده کنیم.
چطور قابلیت توسعه دهنده Developer را در اکسل فعال کنیم؟
در ابتدای آموزش کد نویسی در اکسل باید حالت پیشرفته تنظیمات برنامه نویسی یا دولوپر را فعال کنیم که این بخش در قالب یک سربرگ با نام Developer در قسمت منوی ریبون Ribbon Bar اکسل نمایش داده خواهد شد.
برای فعال سازی این تب ابتدا کافی است به منوی File رفته و بر روی گزینه Options کلیک کنیم و بعد از آن گزینه ی Ribbon Customize را کلیک کنیم.
البته اگر بر روی منوی ریبون بار و هر کدام از تب های اکسل راست کلیک کنیم می توانیم گزینه ی Customize the Ribbon را انتخاب کنیم، بعد از اینکار در پنجره ی باز شده باید در ستون سمت راست و بخش Main Tabs تیک گزینه ی مربوط به Developer را فعال کرده و در نهایت OK کنید.
ساختار برنامه ها در اکسل با زبان VBA
در ادامه می خواهیم بعد از آشنایی با کلیات تعریف متغیرها و نکات کار با سلول های اکسل، بلاک و ساختار کلی برنامه نویسی با زبان VBA را معرفی کنیم.
هر کدام از نمونه برنامه های ساده ای که می خواهیم در اکسل انجام دهیم باید از ساختار استاندارد آن پیروی کنند.
جهت ایجاد یک قطعه کد باید برنامه را با عبارت Sub شروع کنیم و کامپایلر موجود در زبان برنامه نویسی VBA متوجه شروع یک برنامه جدید خواهد شد.
در انتهای برنامه نیز عبارت End Sub را وارد کنیم.
نام برنامه را نیز باید در ابتدای کار و بعد از کلمه ی Sub وارد کنیم.
مثال : نمونه ای از بلاک یک برنامه در زبان VBA به صورت زیر است :
Sub Youcode()
.
.
.
End Sub
مثال هایی از نمونه کد نویسی در زبان VBA
در ادامه نمونه برنامه های قابل اجرا در محیط VBA را برای آموزش کد نویسی در اکسل معرفی می کنیم.
- ارسال ایمیل با استفاده از برنامه ی Outlook
با استفاده از کد های زیر که به زبان VBA نوشته شده اند می توانیم برنامه ی Outlook را برای ارسال ایمیل باز کنیم و یک ایمیل را در حالت Draft ایجاد کنیم و فایل اکسل با نام ActiveWorkbook را در ایمیل مورد نظر ضمیمه کنیم.
Sub Send_Email()
Dim OutlookApp As Object
Dim OutlookMail As Object
Set OutlookApp = CreateObject(“Outlook.Application”)
Set OutlookMail = OutlookApp.CreateItem(0)
With OutlookMail
.to = “test1@mail.com”
.Subject = “Hi Youcode”
.Body = “VBA Programming in Excel”
.Attachments.Add ActiveWorkbook.FullName
.Display
End With
Set OutlookMail = Nothing
Set OutlookApp = Nothing
End Sub
- ایجاد حالت محافظت از شیت های اکسل
با کد های زیر می توانیم تمامی شیت های موجود در فایل اکسل جاری را به صورت محافظت شده Protected در بیاوریم که برای افزایش امنیت فایل اکسل مناسب است.
Sub ProtectSheets()
Dim ws As Worksheet
For Each ws In Worksheets
ws.protect “Youcode”
Next ws
End Sub
در قطعه کد بالا تمامی Sheet های موجود در فایل اکسل با نام Worksheet با رمز Youcode محافظت خواهد شد.
- پنهان سازی شیت های موجود در فایل اکسل
در قطعه کد زیر می توانیم تمامی شیت های موجود در یک فایل اکسل را بجز شیت جاری که شیت فعال است را پنهان کنیم.
Sub UnhideWoksheets()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
ws.Visible = xlSheetVisible
Next ws
End Sub
نمونه کدهای برنامه نویسی زیادی وجود دارد که بعد از کسب یادگیری کد نویسی در اکسل می توانید خودتان نیز این قبیل کدها را به راحتی برنامه نویسی کنید و از آنها در پروژه های خود استفاده کنید.
جمع بندی درباره آموزش کد نویسی در اکسل
در این مقاله سعی داشتیم تا با فرمول نویسی و آموزش کد نویسی در اکسل آشنا شویم و کلیه ی نکات لازم برای شروع کار با زبان VBA را فرا بگیریم.
جهت کسب یادگیری و تسلط کامل بر مبحث برنامه نویسی در اکسل می توان با فرادرس به عنوان بزرگترین دانشگاه مجازی کشور و آموزش اکسل شروع کنید و به فراگیری دوره های تخصصی از مجموعه آموزشی این سایت اقدام کنید.