انجمن انیاک
آموزش VBA در اکسل 2013 - قسمت دوم - نسخه‌ی قابل چاپ

+- انجمن انیاک (http://forum.learninweb.com)
+-- انجمن: آموزش های تصویری (/forumdisplay.php?fid=7)
+--- انجمن: آموزش تصویری VBA (/forumdisplay.php?fid=25)
+--- موضوع: آموزش VBA در اکسل 2013 - قسمت دوم (/showthread.php?tid=1035)



آموزش VBA در اکسل 2013 - قسمت دوم - learninweb - 05-30-2015 07:00 PM

با سلام خدمت تمامي کاربران گرامي در زير آموزش تصويري VBA در اکسل 2013 را بررسي ميکنيم توجه کنيد که شما ميتوانيد نرم افزار آموزش VBA را به همراه چند بخش آموزشي ديگر که بصورت تعاملي و شبيه سازي شده با صدا و متن فارسي درس داده شده است و رايگان نيز ميباشد از لينک آموزش VBA دانلود کنيد. در نرم افزارهاي آموزشي کارهاي بيان شده را بايد در محيط شبيه سازي شده انجام دهيد. در ابتدا و انتهاي اين آموزش تصويري نيز کل آموزش (هم متن و هم تصويري) در فايل PDF و Word موجود است.

دانلود فايل pdf آموزش تصويري VBA
دانلود فايل word آموزش تصويري VBA


در اين فصل قصد داريم شما را با ماژولها آشنا کنيم. ماژول محل کد‌نويسي در اکسل ميباشد. حال ميخواهيم محيط VBA را باز کنيم. براي اينکار روي سربرگ Developer کليک کنيد.
روي دکمه Visual Basic کليک کنيد.
[تصویر:  001.gif]

اين پنجره محيط برنامه‌نويسي در اکسل يا VBA ميباشد. در قسمت مشخص شده شما ميتوانيد کدهاي مربوط به هر Sheet را مشاهده کنيد. حال ميخواهيم يک ماژول ايجاد کنيم. براي ايجاد ماژول روي منوي Insert کليک کنيد.
[تصویر:  002.gif]

از منوي باز شده روي گزينه Module کليک کنيد.
[تصویر:  003.gif]

مشاهده ميکنيد که يک ماژول جديد اضافه شده است و ميتوانيد توابع (Function) و روالهاي (subroutine) مورد نظر خود را داخل آن وارد کنيد. فرض کنيد ميخواهيم روالي را تعريف کنيم تا با فراخواني آن يک پيغام نمايش داده شود. براي شروع تعريف روال ابتدا بايد از کلمه کليدي sub استفاده کنيم. کلمه کليدي sub را تايپ کنيد.
دکمه space صفحه کليد را فشار دهيد.
حال بايد يک نام براي اين روال تعيين کنيم.
نام‌گذاري يک تابع يا روال داراي يکسري شرايط ميباشد که حتماً بايد آنها را رعايت کنيم. اين شرايط شامل موارد زير ميباشد:
•از کلمات کليدي استفاده نکنيم.
•از اعداد در اول اسم استفاده نشود.
•از کاراکترها خاص همانند _ در اول اسم استفاده نشود.
عبارت msg را به عنوان نام اين روال تايپ کنيد.
چون اين روال داراي ورودي نمي‌باشد، کاراکترهاي ( و سپس ) را تايپ کنيد.
دکمه Enter صفحه کليد را فشار دهيد.
[تصویر:  004.gif]

مشاهده ميکنيد که به صورت خودکار دستورEnd sub در انتهاي محدوده دستورات نوشته شده است. حتماً توجه داشته باشيد که دستورات مورد نظر خود را داخل sub تا end sub قرار دهيد. دستورات خارج از اين محدوده مربوط به اين روال نبوده و اجرا نخواهد شد. حال براي اينکه يک پيغام نمايش داده شود از دستور msgbox استفاده ميکنيم. کلمه کليدي msgbox را تايپ کنيد.
حال بايد متني که ميخواهيم به صورت پيغام نمايش داده شود را داخل “” وارد کنيد. در ادامه عبارت مورد نظر را تايپ ميکنيم.
اکنون دستورات مورد نظر خود را وارد کردهايم. براي اجراي اين روال، روي دکمه Run Sub کليک کنيد.
[تصویر:  005.gif]

مشاهده ميکنيد که پيغام مورد نظر به نمايش در آمده است. روي دکمه OK کليک کنيد.
[تصویر:  006.gif]

شما ميتوانيد در يک فايل اکسل چندين ماژول داشته باشيد. به طور مثال در ادامه چند ماژول ايجاد ميکنيم.
[تصویر:  007.gif]

همانطور که ميبينيد با استفاده از منوي Insert گزينه Module چند ماژول ايجاد کردهايم.با اين کار ميتوانيد توابع و رولهاي خود را دسته‌بندي نمائيد تا به سادگي بتوانيد آنها را پيدا کنيد. گاهي ممکن است بخواهيد از يک ماژول که ايجاد کردهايد در پروژههاي بعدي نيز استفاده کنيد، ابتدا بايد ماژول مورد نظر را ذخيره کنيد. براي اينکار روي ماژول مشخص شده کليک راست کنيد.
[تصویر:  008.gif]

از منوي باز شده روي گزينة Export file کليک کنيد.
[تصویر:  009.gif]

اکنون شما ميتوانيد ماژول را ذخيره کنيد و در زمان نياز از آن استفاده کنيد. فايلهاي ماژول با پسوند .bas ذخيره ميشوند. چون قصد ذخيره اين ماژول را نداريم، روي دکمه Cancel کليک کنيد.
[تصویر:  010.gif]

حال فرض کنيد شما از قبل يک ماژول ذخيره کردهايد و قصد داريد از آن ماژول استفاده کنيد. براي اين کار روي قسمت مشخص شده کليک راست کنيد.
[تصویر:  011.gif]

روي گزينه Import File کليک کنيد.
[تصویر:  012.gif]

اکنون از اين پنجره ميتوانيد فايل مورد نظر خود را انتخاب کنيد. روي دکمه Cancel کليک کنيد.
[تصویر:  013.gif]

براي حذف ماژول بايد روي خود ماژول کليک راست کنيد. به عنوان مثال روي ماژول مشخص شده کليک راست کنيد.
[تصویر:  014.gif]

روي گزينه Remove Module2 کليک کنيد.
[تصویر:  015.gif]

در اين پنجره از شما سوال ميشود که آيا ميخواهيد اين فايل را قبل از حذف export کنيد تا بعداً بتوانيد از آن استفاده کنيد يا خير. روي دکمه No کليک کنيد.
[تصویر:  016.gif]

مشاهده ميکنيد که ماژول حذف شده است.
[تصویر:  017.gif]

يکي از امکانات خوبي که VBA براي جلوگيري از خطا در کدنويسي و معرفي متغيرها به ما ميدهد گزينه option explicit است. زمانيکه در بالاي صفحه کدنويسي خود عبارت option explicit را مشاهده کنيد به اين معناست که فقط بايد از متغيرهايي استفاده کنيد که قبلاً معرفي کردهايد و اگر متغيري را معرفي نکنيد امکان استفاده از آن را نخواهيد داشت. به عنوان مثال فرض کنيد در زمان کد‌نويسي اين گزينه فعال نباشد و شما از يک متغير استفاده کردهايد و ميخواهيد جاي ديگري از قطعه کد نيز از آن استفاده نماييد. اگر اين گزينه وجود نداشته باشد و شما نام متغير را اشتباه وارد کنيد، نام اشتباه به عنوان يک متغير جديد شناسايي ميشود. اما اگر option explicit وجود داشته باشد در زماني که نام متغير را اشتباه وارد کنيد پيغامي ميدهد مبني بر اين که اين متغير تعريف نشده است و شما متوجه ميشويد که نام متغير را اشتباه وارد کردهايد. در ادامه آموزش وقتي با متغيرها آشنا شدهايد بيشتر اهميت گزينه option explicit را متوجه ميشويد. اکنون براي فعال کردن اين گزينه روي منوي Tools کليک کنيد.
از منوي باز شده روي گزينه Options کليک کنيد.
[تصویر:  018.gif]

با فعال کردن گزينه Require Variable Declaration عبارت option explicit در صفحة کد بصورت خودکار نوشته ميشود. گزينه Require Variable Declarationرا فعال کنيد.
[تصویر:  019.gif]

روي دکمه OK کليک کنيد.
[تصویر:  020.gif]

حال ميخواهيم يک ماژول جديد ايجاد کنيم. روي منوي Insert کليک کنيد.
از منوي باز شده روي گزينه Module کليک کنيد.
[تصویر:  021.gif]

مشاهده ميکنيد که در اين ماژول دستور option
explicitبه نمايش در آمده است. در ادامه آموزش بيشتر با خصوصيات اين گزينه آشنا خواهيد شد.
[تصویر:  022.gif]

در اين مرحله قصد داريم يک روال ايجاد کنيم. براي اينکار روي دکمه Visual Basic کليک کنيد.
[تصویر:  023.gif]

کلمه کليدي sub را تايپ کنيد.
دکمه Space صفحه کليد را فشار دهيد.
در ادامه نام روال را وارد ميکنيم.
دکمه Enter صفحه کليد را فشار دهيد.
[تصویر:  024.gif]

براي واضح شدن کدهاي نوشته شده، دکمه Tab صفحه کليد را فشار دهيد.
کلمه کليدي msgbox را تايپ کنيد.
دکمه Space صفحه کليد را فشار دهيد.
در ادامه متن مورد نظر را داخل “” قرار ميدهيم.
روي دکمه Close کليک کنيد.
[تصویر:  025.gif]

روي دکمه Macros کليک کنيد.
[تصویر:  026.gif]

مشاهده ميکنيد که ماکرو ساخته شده در ليست ماکروها به نمايش در آمده است. حال براي اجرا ، روي دکمه Run کليک کنيد.
[تصویر:  027.gif]

مشاهده ميکنيد که پيغام مورد نظر به نمايش در آمده است. روي دکمه OK کليک کنيد.
[تصویر:  028.gif]

حال براي اينکه وارد بخش کدنويسي شويم، روي دکمه Visual Basic کليک کنيد.
[تصویر:  029.gif]

کدهاي نوشته شده را به چند روش ميتوان اجرا کرد. يکي از روشها استفاده از دکمه Play ميباشد که با کليک روي آن برنامه اجرا خواهد شد.
روش ديگر استفاده از منوي run و کليک روي گزينه Run sub است.
شما ميتوانيد از کليد ميانبر F5 نيز براي اجرا دستورات نيز استفاده کنيد.
يکي ديگر از روشهاي اجراي دستورات، استفاده از پنل Immediate Window است. براي مشاهده پنل Immediate Window روي منوي View کليک کنيد.
از منوي باز شده روي گزينه Immediate Window کليک کنيد.
[تصویر:  030.gif]

مشاهده ميکنيد که پنلImmediate در پايين صفحه باز شده است. حال براي استفاده از اين پنل بايد نام ماکرو را در اين قسمت کپي کنيم. براي اينکار روي نام ماکرو دابل کليک کنيد.
[تصویر:  031.gif]

دکمه Ctrl + C را فشار دهيد.
داخل پنلImmediate کليک کنيد.
[تصویر:  032.gif]

دکمه Ctrl + V را فشار دهيد تا نام کپي شده وارد اين پنل بشود.
براي اجراي ماکرو، دکمه Enter صفحه کليد را فشار دهيد.
مشاهده ميکنيد که ماکرو به خوبي اجرا شده است. روي دکمه OK کليک کنيد.
[تصویر:  033.gif]

همانند روشي که در بخش قبل در مورد ماکروها درس داده شد روالها را نيز مي‌توانيد با کليک بر روي يک دکمه يا فشردن کليد ميانبر اجرا نمائيد.
[تصویر:  034.gif]

در اين مرحله قصد ايجاد يک تابع (Function) را داريم. براي ايجاد تابع روي گزينه Visual Basic کليک کنيد تا وارد محيط کد نويسي بشويم.
[تصویر:  035.gif]

براي ايجاد يک ماژول روي منوي Insert کليک کنيد.
از منوي باز شده روي گزينه Module کليک کنيد.
[تصویر:  036.gif]

به عنوان مثال ميخواهيم يک تابع ايجاد کنيم تا يک عدد را در 10 ضرب کند. براي ايجاد تابع، کلمه کليدي Function را تايپ کنيد.
دکمه Space صفحه کليد را فشار دهيد.
در ادامه عبارت multy10 را به عنوان نام تابع وارد ميکنيم.
کاراکتر ( را وارد کنيد.
بعد از کاراکتر ( اکنون بايد پارامترهاي وروديهاي تابع را وارد کنيم. در ادامه عبارت num را وارد ميکنيم.
کاراکتر ) را وارد کنيد.
دکمه Enter صفحه کليد را فشار دهيد.
با اين کار تابع تعريف شده و داراي يک ورودي به نام num ميباشد num همانند يک متغير است که مقدار اوليه آن به تابع ارسال ميشود. حال بايد مقدار num را در 10 ضرب کرده و سپس به عنوان خروجي ارسال کنيم. در يک تابع هر مقداري که بخواهيد ارسال کنيد بايد در يک متغير با نام تابع ذخيره کنيد. در ادامه نام تابع (multy10) را وارد ميکنيم.
دکمه Space صفحه کليد را فشار دهيد.
کاراکتر = را وارد کنيد.
دکمه Space صفحه کليد را فشار دهيد.
اکنون بايد فرمول محاسبه تابع را وارد کنيم. در ادامه فرمول num * 10 را وارد ميکنيم.
با اين کار مقدار متغير num در 10 ضرب شده و سپس به عنوان خروجي ارسال ميشود. دکمه Enter صفحه کليد را فشار دهيد.
اکنون قصد داريم تابع ايجاد شده را اجرا کنيم. براي اينکار از دو روش ميتوان استفاده کرد. يک روش تعريف يک روال ميباشد که به اين تابع مقدار بدهيم و روال را اجرا کرده و خروجي را مشاهده کنيم. در ادامه يک روال ايجاد ميکنيم.
مشاهده ميکنيد که يک روال با نام test ايجاد کردهايم و داخل آن يک متغير با نام x تعريف کردهايم که مقدار آن را نام تابعي که ايجاد کردهايم قرار داده ايم و به جاي مقدار num عدد 2 را قرار دادهايم. در سطر بعد از دستور msgbox استفاده کرده و تعيين کرده ايم که مقدار x را نمايش دهد. در ادامه عبارت test را داخل قسمت immediate وارد ميکنيم.حال براي اجراي اين روال دکمه Enter صفحه کليد را فشار دهيد.
[تصویر:  037.gif]

مشاهده ميکنيد که تابع اجرا شده است. روي دکمه OK کليک کنيد.
[تصویر:  038.gif]

اکنون ميخواهيم روش ديگري را براي اجراي تابع ايجاد شده استفاده کنيم. روي دکمه Close کليک کنيد.
[تصویر:  039.gif]

تابعي که ايجاد کردهايم در بين توابع اصلي اکسل قرار ميگيرد. ميخواهيم از اين تابع استفاده کنيم. روي سلول مشخص شده کليک کنيد.
[تصویر:  040.gif]

کاراکتر = را وارد کنيد.
نام تابع يعني عبارت multy10 را تايپ کنيد.
مشاهده ميکنيد که تابعي که ايجاد کردهايم در بين توابع اصلي اکسل قرار گرفته است. روي تابع multy10 دابل کليک کنيد.
[تصویر:  041.gif]

عدد 5 را تايپ کنيد.
کاراکتر ) را وارد کنيد.
دکمه Enter صفحه کليد را فشار دهيد.
[تصویر:  042.gif]

مشاهده ميکنيد که خروجي به نمايش در آمده است. توابعي که تعريف ميکنيم در قسمت توابع تعريف شده توسط کاربر قرار ميگيرد براي مشاهده روي دکمه Function کليک کنيد.
[تصویر:  043.gif]

از پنجره باز شده روي منوي or select a category کليک کنيد.
روي گزينه user defined کليک کنيد.
[تصویر:  044.gif]

در اين قسمت ميتوانيد تابعي که ايجاد کردهايم را مشاهده کنيد.کاربر گرامي شما در انتهاي اين بخش قرار داريد.
[تصویر:  045.gif]


توجه کنيد که شما ميتوانيد نرم افزار آموزش VBA را به همراه چند بخش آموزشي ديگر که بصورت تعاملي و شبيه سازي شده با صدا و متن فارسي درس داده شده است و رايگان نيز ميباشد از لينک آموزش VBA دانلود کنيد. در نرم افزارهاي آموزشي کارهاي بيان شده را بايد در محيط شبيه سازي شده انجام دهيد. در ابتدا و انتهاي اين آموزش تصويري نيز کل آموزش (هم متن و هم تصويري) در فايل PDF و Word موجود است.

دانلود فايل pdf آموزش تصويري VBA
دانلود فايل word آموزش تصويري VBA