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

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

ویژوال بیسیک به عنوان یک زبان برنامه نویسی کارآمد در کنار اکسل قرار گرفته است و قابلیت های این نرم افزار را نامحدود کرده است. ویژوال بیسیک همزمان با نصب اکسل و سایر نرم افزارهای MS Office بر روی کامپیوتر شما نصب میگردد و نیاز به نصب جداگانه ندارد. ویژوال بیسیک مخصوص Application ها VBA یا Visual Basic for Applications نام دارد و کد نویسی به زبان برنامه نویسی ویژوال بیسیک در اکسل را به نام کد نویسی VBA در اکسل یا ماکرو نویسی در اکسل معرفی مینمایند.

ویژوال بیسیک

معرفی زبان برنامه نویسی ویژوال بیسیک در اکسل

زبان برنامه نویسی ویژوال بیسیک یا VB توسعه یافته زبان برنامه‌نویسی بیسیک می‌باشد. زبان برنامه نویسی بیسیک توسط پروفسور جان کمنسی و توماس کرتز از کالج دارتموث برای نوشتن برنامه‌های ساده ایجاد شد. طراحی آن از اواسط دهه ۱۹۶۰ آغاز گردید.

زبان برنامه نویسی ویژوال بیسیک برای توسعه سریع نرم‌افزار بر پایه رابط گرافیگی کاربر توسعه داده شد. دسترسی آسان و سریع به پایگاه داده ها و ایجاد کنترل‌های اکتیو ایکس از جمله مواردی هستند که این زبان را برای Rapid Application Development مناسب کرده‌اند.برنامه‌ نویسی در ویژوال بیسیک به صورت برنامه‌ نویسی رویداد محور و برنامه‌ نویسی شیءگرا یا Object Oriented Programming می‌باشد.

آنچه در مبحث ماکرو نویسی در اکسل فرا میگیریم در واقع همان زبان برنامه نویسی ویژوال بیسیک است که مختص نرم افزا اکسل تعریف شده است، این زبان برنامه نویسی را به نام VBA یا Visual Basic for Applications میشناسیم. این زبان در واقع زبان برنامه نویسی ویژوال بیسیک مختص اپلیکیشن ها می باشد و اپلیکیشن مورد استفاده در اینجا اکسل است. زبان برنامه نویسی ویژوال بیسیک در کالبد برخی افزارها (Applications) از جمله Excel، Word، Outlook و Access گنجانده شده است و به این نرم افزارها قابلیت های زیادی را اضافه نموده است، اصول زبان برنامه نویسی VBA در تمام Application های مذکور یکسان است، لیکن، در VBA مختص هر نرم افزار، کدها و دستوراتی وجود دارند که صرفاً در محیط آن نرم افزار با معنا هستند. مطالبی که در این کتاب به یادگیری آن می پردازیم ترکیبی از دستورات و کدهای ویژوال بیسیک است که در تمام نرم افزارها مشترک میباشد و در واقع دستورات قابل استفاده در زبان برنامه نویسی ویژوال بیسیک است بعلاوه کدها و دستورات قابل استفاده در اکسل که تنها در VBA قرار گرفته در اکسل معنا دارند و در سایر نرم افزارها کاربردی ندارند. زبان برنامه نویسی ویژوال بیسیک به تنهایی قابلیت های VBA را ندارد، و علت آن استفاده VBA از قابلیت های Application هایی که در کنار آنها قرار گرفته است میباشد.

نرم افزار اکسل از جمله قویترین نرم افزارهای آفیس می باشد، در مقاله ای در همین سایت به معرفی نرم افزار اکسل پرداخته ایم. با توجه به ظرفیت های بیشمار نرم افزار اکسل، اضافه شدن زبان برنامه نویسی ویژوال بیسیک به آن توانایی نرم افزا اکسل را بینهایت می کند.

کاربرد های ماکرو نویسی در اکسل

کاربردهای زبان برنامه نویسی ویژوال بیسیک در اکسل یا ماکرو نویسی در اکسل بیشمار می باشد، تصور کنید شما یک بانک اطلاعاتی از مشتریان در اکسل دارید، با استفاده از توانایی های ویژوال بیسیکمی توان داده ها را به نحو دلخواه مورد بررسی و تحلیل قرار داد و یا اینکه در مورد انجام پروژه های مهندسی، زبان برنامه نویسی ویژوال بیسیک توانایی شما را در تحلیل داده ها، طراحی ها، گزارش گیری و حتی تولید نرم افزار بینهایت افزایش میدهد.

VBA علاوه بر زبان مشترک نرم افزارهای آفیس و دیگر نرم افزارها قادر است حتی با سیستم عامل Microsoft Windows هم ارتباط برقرار کند و آن را کنترل نماید. بنابراین یادگیری و توانایی استفاده از زبان برنامه نویسی ویژوال بیسیک برای اپلیکیشن ها (VBA) می تواند دریچه ای رو به یادگیری و استفاده از سایر نرم افزارهایی باشد که با این زبان در ارتباط هستند.

ورود به محیط ویژوال بیسیک در اکسل

همزمان با نصب نرم افزار اکسل، VBA هم در کنار آن نصب میشود. برای وارد شدن به محیط VBA یا VBE یا Visual Basic Editor ابتدا باید یک فایل اکسل را باز نمود و سپس یکی از دو راه زیر را طی کرد:

  • فعال سازی تب Developer و کلیک بر روی دکمه Visual Basic
  • استفاده از کلید میانبر Alt+F11

به صورت پیش فرض تب Developer در اکسل نمایش داده نمیشود. برای فعال سازی تب Developer در اکسل ۲۰۰۷، ابتدا وارد منوی اصلی یا همان Office Bottom اکسل می شویم و با کلیک بر روی دکمه ی Excel Option وارد تنظیمات اکسل شوید، در قسمت اول که Popular نام دارد گزینه ی Show Developer Tab in the Ribbon را تیک بزنید.

در نسخه های ۲۰۱۰ و ۲۰۱۳ و ۲۰۱۶ اکسل مسیر فعال سازی تب Developer کمی متفاوت میباشد، برای اینکار از قسمت File وارد Excel Option شده و از قسمت Customize Ribbon و در منوی Main Tabs تیک گزینه تب Developer را یافته و آن را تیک بزنید.

راه دوم وارد شدن به محیط ویژوال بیسیک استفاده از کلید میانبر Alt+F11 در اکسل است که شما را مستقیماً به محیط ویژوال بیسیک منتقل می کند. لازم به ذکر است در کار کردن با ماکرو­ها و برنامه نویسی ویژوال بیسیک در اکسل در نهایت فعال سازی تب Developer مورد نیاز است، لذا توصیه می گردد روند فوق را طی نموده و این کار را انجام دهید.

مقالات آموزشی موجود در سایت اکسل پرو به عنوان مواد اصلی دوره های آموزشی ماکرو نویسی در اکسل یا کد نویسی به زبان برنامه نویسی ویژوال بیسیک در اکسل (VBA) می باشد که توسط حامد قدیمی، برگزار می گردد. لذا یادگیری قدم به قدم و فهم آن ها در کنار انجام تمرینات و بکار گیری مستمر آموزش ها می تواند راهکاری سریع برای فهم محتوا باشد.

ویژوال بیسیک در اکسل

در ادامه این مقاله، دوره های آموزشی تصویری ماکرو نویسی در اکسل به حضورتان معرفی میگردد

دوره آموزشی تصویری ماکرو نویسی در اکسل

دوره آموزش تصویری ماکرو نویسی در اکسل بر اساس کتاب “شروع ماکرو نویسی در اکسل” توسط حامد قدیمی تهیه شده و دارای پنج دوره جداگانه به شرح زیر میباشد که فصل های اول تا یازدهم این کتاب را به شرح زیر شامل میشود:

  • ماکرو نویسی در اکسل ۱ از ۵ که شامل آموزش و تمرین فصول اول و دوم کتاب میباشد
  • ماکرو نویسی در اکسل ۲ از ۵ که شامل آموزش و تمرین فصول سوم و چهارم کتاب میباشد
  • ماکرو نویسی در اکسل ۳ از ۵ که شامل آموزش و تمرین فصول پنجم و ششم کتاب میباشد
  • ماکرو نویسی در اکسل ۴ از ۵ که شامل آموزش و تمرین فصول هفتم و هشتم کتاب میباشد
  • ماکرو نویسی در اکسل ۵ از ۵ که شامل آموزش و تمرین فصول نهم، دهم و یازدهم کتاب میباشد

برای خرید دوره با کلیک بر روی این خط وارد صفحه اختصاصی Excelpro در سایت فرانش شده و دوره را خریداری نمایید.

در فایل تصویری زیر محتوای دوره آموزشی ماکرو نویسی در اکسل توضیح داده میشود.

در ادامه هر کدام از دوره ها و محتوای آنها به صورت جداگانه معرفی میگردد:

عنوان دوره: ماکرو نویسی در اکسل ۱ از ۵

این دوره آموزشی اولین سری از دوره آموزشی ماکرو نویسی در اکسل میباشد که شامل معرفی ماکرو نویسی، کاربرد ماکرو نویسی در اکسل، آشنایی با محیط VBE، یادگیری روش ضبط ماکرو ها، تنظیمات Macro Security و همچنین آموزش روش های اجرای ماکرو ها و ذخیره فایل های حاوی ماکرو میباشد. این دوره آموزشی فصل های اول و دوم کتاب “شروع ماکرو نویسی در اکسل” را پوشش میدهد.

در فایل تصویری زیر مطالب آموزشی دوره شماره ۱ از ۵ توضیح داده میشود.

سرفصل های دوره ۱ از ۵:

  • آشنایی با کاربرد ماکرو نویسی در اکسل
  • معرفی زبان برنامه نویسی VB و VBA
  • آشنایی با محیط VBE
  • فعال کردن Developer Tab
  • آشنایی با منوها، پنجره ها، Toolbarهای VBE
  • آشنایی با کاربرد ضبط ماکرو
  • تنظیمات ضبط ماکرو و اصول نامگذاری ماکروها
  • روش های اجرای ماکرو های ضبط شده
  • روش ایجاد فایل  PERSONAL.XLSB
  • ذخیره ماکرو ها همراه فایل اکسل به صورت Macro-Enabled WorkbookExport
  • Import کردن ماژول ها
  • تنظیمات Macro Security

عنوان دوره: ماکرو نویسی در اکسل ۲ از ۵

این دوره آموزشی دومین دوره از پنج دوره جامع آموزش ماکرو نویسی در اکسل میباشد. این دوره شامل معرفی مفهوم پروژه، مفهوم ماژول، انواع ماژول، روش تعریف ماژول، تعریف و مفهوم پروسیژرها، انواع پروسیژر ها و ایجاد پروسیژرها میپردازد، همچنین در این دوره با مفاهیم Object، برنامه نویسی شی گرا، Method و Properties آشنا میشویم و اشیا Range، Worksheet و Workbook را معرفی میکنیم. این دوره آموزشی فصل های سوم و چهارم کتاب “شروع ماکرو نویسی در اکسل” را پوشش میدهد.

در فایل تصویری زیر مطالب آموزشی دوره شماره ۲ از ۵ توضیح داده میشود.

سرفصل های دوره ۲ از ۵:

  • آشنایی با مفهوم Project
  • آشنایی با Module و انواع ماژول ها شامل Standard Module و Object Module
  • معرفی انواع و کاربرد Object Module ها، معرفی User-Form Code Window و پنجره های کد نویسی Sheets و Workbook
  • ایجاد و تغییر نام ماژول ها یا Standard Module
  • معرفی انواع پروسیژرها، حوزه اعتبار پروسیژرها، پروسیژر های Public و Private، تغییر نام پروسیژرها، کاربرد پروسیژر Function،
  • روش تعریف آرگومان برای پروسیژرها
  • فراخوانی پروسیژرها در یکدیگر و ایجاد ارتباط بین پروسیژرها
  • آشنایی مفهوم برنامه نویسی شی گرا Object Oriented programming
  • آشنایی با مفهوم شی یا Object در برنامه نویسی
  • آشنایی با Method، Properties و Event
  • آشنایی با اشیا Range، Worksheet و Workbook
  • روش استفاده از پنجره Object Browser
  • آشنایی با مفهوم Container و Object Hierarchy

عنوان دوره: ماکرو نویسی در اکسل ۳ از ۵

این دوره آموزشی سومین دوره از پنج دوره جامع آموزش ماکرو نویسی در اکسل میباشد. این دوره شامل مرور کامل به همراه توضیحات و مثال های کاربردی فصل پنجم و ششم کتاب “شروع ماکرو نویسی در اکسل” میباشد.

عنوان فصل پنجم کتاب شروع ماکرو نویسی در اکسل “ماکرو نویسی” است و شامل آشنایی کامل به همراه مثال های کاربردی با مفاهیمی مانند استفاده از سلول های اکسل، استفاده از شی Range، استفاده از پروپرتی Cells، پروپرتی های Rows و Columns، استفاده از محدوده های نامگذاری شده، اشاره همزمان به چند محدوده از اکسل، پروپرتی های شی Range، متد های شیء Range، استفاده از شی Worksheet، استفاده از شی Workbook، متد Activate، متد Select و پروپرتی Selection، استفاده از شی Application، استفاده از شی Windows میباشد.

همچنین عنوان فصل ششم کتاب شروع ماکرو نویسی در اکسل “تعریف متغیرها و ثابت ها” بوده و شامل آشنایی کامل به همراه مثال های کاربردی با مفاهیمی مانند مفهوم متغیرها، نامگذاری متغیرها، حوزه اعتبار متغیرها، عمر متغیرها، تعریف متغیرها، انواع متغیرها، حرف مشخص کننده ی نوع متغیر، استفاده از کلمه کلیدی Static، صفر شدن مقدار متغیرها و تعریف ثابت ها است.

در فایل تصویری زیر مطالب آموزشی دوره شماره ۳ از ۵ توضیح داده میشود.

سرفصل های دوره ۳ از ۵:

  • روش های استفاده از سلول های اکسل در کدها
  • کاربردهای سلول های اکسل در ماکرو نویسی
  • کاربرد و روش استفاده از شی Rangeبرای استفاده از سلول های اکسل
  • کاربرد و روش استفاده از پروپرتی Cellsبرای استفاده از سلول های اکسل
  • کاربرد و روش استفاده از پروپرتی های Rows و Columnsبرای استفاده از سلول های اکسل
  • روش استفاده از محدوده های نامگذاری شده در کدها
  • روش اشاره همزمان به چند محدوده از اکسل با استفاده از شی Range و متد Union
  • روش استفاده از Object Browser برای یافتن پروپرتی و متد های اشیا
  • آشنایی و روش استفاده از پروپرتی های پر کاربرد شی Rangeشامل Address, Areas, Borders, Cells, Column, Columns, ColumnWidth, Comment, Count, CountLarge, CurrentRegion, Dependents, DirectDependents, DirectPrecedents, End, EntireColumn, EntireRow, Errors, Font, Formula, HasFormula, Interior, Item, Name, Offset, Parent, Precedents, Row, Rows, RowHeight, Text, Value, Value2
  • آشنایی و روش استفاده از متد های شیء Rangeشامل Activate, AddComment, Calculate, Clear ,ClearComments, ClearContents, ClearFormats, Copy, Cut, Delete, PasteSpecial, Select, Sort, SpecialCells
  • آشنایی، کاربرد و روش استفاده از شی Worksheet، آشنایی کامل با پروپرتی های کاربردی شامل Address, Cells, Columns, Comments, DisplayPageBreaks, DisplayRightToLeft, Name, Names, Parent, PrintOut, Protect, Range, Rows, UsedRange, Visible و آشنایی کامل با متدهای کابردی شامل Activate, Calculate, Copy, Delete, Move, Paste, Select
  • آشنایی، کاربرد و روش اشیاء Sheets و Worksheets، آشنایی کامل با متدها و پروپرتی های کاربردی شامل Count, Add, Copy, Delete, PrintOut, Select
  • آشنایی، کاربرد و روش استفاده از شی Workbook، آشنایی کامل با پروپرتی های کاربردی شامل ActiveChart, ActiveSheet, CaseSensitive, CommandBars, Creator, FileFormat, Final, FullName, HasPassword, IsAddin, Name, Names, Parent, Password, Path, ProtectWindows, ProtectStructure, ReadOnly, Sheets, Worksheets, Windows و آشنایی کامل با متدهای کابردی شامل Activate, Close, NewWindow, PrintOut, PrintPreview, Protect, Save, SaveAs, Unprotect
  • آشنایی، کاربرد و روش استفاده از شی Workbooks، آشنایی کامل با متدها و پروپرتی های کاربردی شامل Count, Add, Close, Open
  • کاربرد و روش استفاده از متد Activate، آشنایی و کاربرد پروپرتی های ActiveCell، ActiveSheet و ActiveWorkbook
  • کاربرد و روش استفاده از متد Select و پروپرتی Selection
  • آشنایی کامل با کاربرد و روش استفاده از شی Applicationو پروپرتی های کاربردی شامل ActiveCell, ActiveChart, ActiveSheet, ActiveWindow, ActiveWorkbook, CalculateBeforeSave, Calculation, Caption, Cells, Charts, Columns, Creator, DisplayAlerts, Path, Range, Rows, ScreenUpdating, Selection, Sheets, Speech, ThisCell, ThisWorkbook, UserName, Windows, Workbooks, WorksheetFunction, Worksheets و آشنایی با متدهای کابردی شامل Calculate, Goto, Inputbox, Intersect, MacroOption, Onkey, OnRepeat, OnTime, OnUndo, Quit, Run, Undo, Union, Wait
  • آشنایی و کاربرد اشیا Windows و Window
  • تعریف و مفهوم متغیرها
  • روش نامگذاری متغیرها
  • آشنایی با حوزه اعتبار یا Scope متغیرها، آشنایی با متغیرهای Procedure Level و Module Level
  • آشنایی با عمر متغیرها یا Life Time متغیرها
  • روش تعریف متغیرها با توجه به حوزه اعتبار و عمر آنها
  • آشنایی کامل با انواع متغیرها و کابرد آنها شامل متغیرهای نوع Boolean, Byte, Integer, Long, Single, Double, String, Object, Date, User-Defined, Variant, Currency
  • روش تعریف متغیرهای نوع User-Defined Variable
  • آشنایی با روش تعریف و کاربرد متغیرهای نوع آرایه ای یا Array و تعریف متغیرهای آرایه ای Dynamic و Static، روش استفاده از کلمات کلیدی ReDim و ReDim Preserve
  • آشنایی با کاربرد حرف مشخص کننده ی نوع متغیر یا Type Declaration Character
  • آشنایی، کاربرد و روش استفاده از از کلمه کلیدی Static
  • آشنایی با روش های صفر شدن مقدار متغیرها
  • آشنایی با کاربرد، انواع و روش تعریف ثابت ها، آشنایی با Pre-Defined Constants و User-Defined Constants

عنوان دوره: ماکرو نویسی در اکسل ۴ از ۵

این دوره آموزشی چهارمین دوره از پنج دوره جامع آموزش ماکرو نویسی در اکسل میباشد. این دوره شامل مرور کامل به همراه توضیحات و مثال های کاربردی فصل هفتم و هشتم کتاب “شروع ماکرو نویسی در اکسل” میباشد.

عنوان فصل هفتم کتاب شروع ماکرو نویسی در اکسل “تبادل داده با کاربر” است و شامل آشنایی کامل به همراه مثال های کاربردی با توابع Msgbox، Inputbox و متد Inputbox میباشد. تابع Msgbox به منظور نمایش پیام به کاربرد و دریافت نظر کاربر به منظور تعیین روند اجرای برنامه به کار برده میشود و تابع Inputbox و متد Inputbox برای دریافت داده از کاربر و یا انتخاب یک سلول توسط کاربر مورد استفاده قرار میگیرند.

همچنین عنوان فصل هشتم کتاب شروع ماکرو نویسی در اکسل “ساختارهای شرطی” بوده و شامل آشنایی کامل به همراه مثال های کاربردی با ساختارهای شرطی IF و Select-Case میباشد. ساختارهای شرطی به صورت گسترده در کد نویسی ها مورد استفاده قرار میگیرند.

در فایل تصویری زیر مطالب آموزشی دوره شماره ۴ از ۵ توضیح داده میشود.

سرفصل های دوره شماره ۴ از ۵:

  • آشنایی با ساختار و کاربرد تابع Msgbox به منظور تبادل داده با کاربر (نمایش پیام و دریافت نظرات) به همراه مثال های کاربردی
  • آشنایی با آرگومان های کادر پیام
  • استفاده از کادر پیام جهت دریافت نظرات کاربران
  • آشنایی با ساختار و کاربرد تابع Inputboxبه منظور دریافت داده از کاربر به همراه مثال های کاربردی
  • آشنایی با ساختار و کاربرد متد Inputboxبه منظور دریافت داده از کاربر به همراه مثال های کاربردی
  • آشنایی با ساختارهای شرطی
  • آشنایی و استفاده حرفه ای از ساختار شرطی IF، آشنایی با سینتکس های متفاوت به همراه مثال های کاربردی
  • آشنایی و استفاده حرفه ای از ساختار شرطی Select-Case

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

۶ نظر

  1. امین

    با سلام و عرض ادب
    سوالی داشتم از محضرتون.. بنده فروشنده ی مغازه ای هستم که اجناس قسطی میفروشیم. مشکلی که دارم اینه که جدول ایکسلی که برای محاسبات هر قسط و سود و غیره دارم دائما اشکال پیدا میکنه. و من میخوام این فایل رو درقالب ویژال بیسیک داشته باشم، که مثلا مبلغ بدهی را تو سلولی وارد کنم و دکمه ی اجرا رو بزنم و نهایتا مبلغ هر قسط و مابقی از جدول ایکسل بازخوانی بشه.
    پیشاپیش بابت کمکتون ازتون متشکرم

    1. حامد قدیمی

      بله، انجام این کار با ماکرو نویسی بسیار خوب است، البته نیاز به دانش کد نویسی دارید تا بتوانید این کار را انجام دهید و در آینده آن را توسعه دهید. اما دلیلی برای بهم خوردن فایل های اکسل وجود ندارد، لطفاً فرمول نویسی های خود را با دقت انجام دهید و تا حد امکان از ساختار Table برای دخیره داده ها استفاده کنید.

دیدگاهتان را بنویسید؟