جلسه سوم: شروع برنامه نویسی در اکسل

1.   شروع برنامه نویسی

 

روشهای مختلفی برای شروع و ایجاد یک برنامه با VBA وجود دارد. یک روش ساده ایجاد یک command button بر روی صفحه گسترده محیط اکسل و شروع برنامه نویسی با کلیک بر روی  آن است. روش دیگر نوشتن توابع در داخل  ویرایشگر VB  یا همان     VBE  می باشد. کار را با روش اول شروع می کنیم

1.1      روش اول : ایجاد یک برنامه با استفاده از command button

 

برای قرار دادن  command button بر روی محیط اکسل مسیر زیر را طی می کنیم:

View منوی  àToolbaràControl ToolBox

(البته اگر قبلا نوار ابزار Visual Basic Editor نیز فعال شده باشد میتوانید Control ToolBox را از آن انتخاب کنید.)

بعد از طی مسیر فوق Control ToolBox ظاهر میشود. command button را انتخاب و آنرا بر روی صفحه گسترده محیط اکسل اکسل قرار میدهیم. یک دگمه در محیط اکسل ظاهر میشود.

با کلیک کردن بر روی command button  بلافاصله  Visual Basic Editor یا  همان  VBE  ظاهر می شود. بلافاصله میتوانید دستورات خود را همانند شکل تایپ کنید. (شکل بعدی)

با دقت در این شکل ملاحظه میشود که:

دستور اول در نظر دارد مقدار(Value) سلولهای A1 تا  A10را با عبارت "Visual Basic for Application" پرکند.

دستور بعدی نیز حاصلجمع سلولهای  A11  و B11 را در سلول C11 قرار میدهد.

دستور آخر نیز مقدار سلول D11 را نیز با روش دیگری برابر با حاصلجمع A11  و B11 قرار میدهد. با اندکی دقت متوجه می شویم که این دستور با دستور قبلی متفاوت است.

 

 خروجی و رابط برنامه

 

 

 

 

برای اجرای این برنامه به محیط اکسل برمی گردیم. (میتوان از F11  +   ALT نیز استفاده کرد).

با فشردن آیکن Exit Design Mode   از    Control Toolbox از حالت طراحی خارج می شویم. پس از آن با کلیک بر روی  command button برنامه اجرا می شود که خروجی آن در شکل نشان داده شده است.

 

1.2      ایجاد یک برنامه ساده  در  VBE

برای نوشتن یک برنامه در محیط برنامه نویسی اکسل مراحل زیرانجام می شود:

1- ورود به محیط برنامه نویسیی یا همان Visual Basic Editor

 برای اینکار چند روش وجود دارد

·        استفاده از کلیدهای میانبر:  F11  + ALT

·        استفاده از منوی اکسل:  Tools-> Macro-> Visual Basic Editor

·        استفاده از ToolBar یا همان نوار ابزار Visual Basic و فشردن آیکون Visual Basic Editor

به هر حال با یکی از روشهای فوق وارد محیط برنامه نویسی می شویم

2- ورود به  منوی  Insert  و انتخاب گزینه Module  

3- نوشتن فرمان (کلمه کلیدی)  Sub ‌ و سپس نام برنامه

4- فشردن دگمه  Enter   

5- بلافاصله بطور اتوماتیک فرمان End Sub  در یک خط جدید اضافه می شود.

6- کدهای برنامه را خط به خط  بین فرمانهای Sub  و End Sub می نویسیم.

 

 به عنوان مثال:

 

Sub MyProgram()

Range("A1:A10").Value = "Visual Basic For Applications"

Range("A11").Value=10

Range("B11").Value = 20

Range("C11").Value = "=A11+B11"

End Sub

 

ملاحظه می شود که در سطر C11 ارزشهای موجود درA11   و B11 جمع زده می شود.

به علامت = در داخل کوتیشن توجه شود.

 

 

7-اجرای برنامه : برای اجرای برنامه چندین روش وجود دارد

·        فشردن کلید F5

·        فشردن آیکن Rub Sub/User Form از   Toolbar

·        بازگشت به محیط   Excel و استفاده از F11  + ALT

 

نکته: در صورتی که از علامت '  در ابتدای یک خط برنامه نویسی در محیط VB استفاده شود آن خط سبز شده و عملیاتی بر روی آن خط اجرا نخواهد شد. این خط اصطلاحا Comment (توضیحات)‌نامیده می شود. Comment حالت اجرایی ندارد و از آن برای ارایه توضیحات استفاده میشود. Comment ها به خوانایی برنامه بسیار کمک میکنند.

1.3        Select  , Value  , Rangeدستورات

 

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

 

با انجام دستور  

/ 12 نظر / 687 بازدید
نمایش نظرات قبلی
مهدی

دوست عزیز . بینهایت از سایت قشنگتون سپاسگذارم . با کمک اموزش شما در حال طراحی برنامه ای در حوزه درمان دانشگاه هستیم .شما هم حتما در ثواب این کار عام المنفعه سهیمید.

حسین

علی جون موچکریم بابت راهنماییت[بازنده]

فرشید

سلام من با اکسل 2010 کار میکنم ولی گزینه ی command button قفله! البته کلا یه سری از گزینه ها قفله مثل mocro چیکار کنم درست بشه؟؟؟

ابوالفضل از مشهد

با سلام و خسته نباشید مطالبتون بسیار عالی و کاربردیه ؛ نشون دادین که زکات علمتون رو با نیتی پاک و بدون چشم داشت در اختیار دوستان میگذارید ؛ انشاالله دستگیره آخرتتون بشه ؛ موفق باشید

donya

با سلام و خسته نباشيد ممنون از لطف تون سايتتون عاليه به اميد موفقيت براي شما [گل] [گل] [گل]

reza

با سلام و تشگر از وبلاگ خوبتون یه سوال برنامه نویسی تو اکسل دارم.میخوام برنامه ای بنویسم که توی یک ماتریسی از اعداد کمترین مسیر از اعداد را پیدا کنه که جمعش کمترین باشه.اگه جواب را برام ایمیل کنید ممنون میشم

مصطفی

با سلام و خسته نباشید خدمت شما می خواستم ببینم چه جوری میشه تویه یه cel مثلا H2 بنویسه 20 و بعد تو H3 بنویسه 40 و همین طور تو سلول های پایینی بنویسه 60 80 100 و... فرمولی وجود داره؟ خیلی ممنون

محمود

ممنون .

محمد حامد

ممنونم

پیام

علی جان ممنون