آموزش ماکرونویسی - برنامه نویسی در اکسل به روش من

از ماکرونویسی نهراسید! بسیار ساده است!

فيلم آموزشي مايكروسافت براي ايجاد ماكرو

فيلم آموزشي مايكروسافت براي ايجاد ماكرو

درسهاي 1 تا 12 و  كتابچه ماكرونويسي

آموزش  مشاوره

داستان وبلاگ من

آخرين مطالب

فایل پی دی اف زیر خلاصه ای از VBA  برای حرفه ای هاست. بسیار سودمند و خلاصه و کاربردی

از اینجا بردارید

 

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

مثال:یک تاریخ مشخص مانند تاریخ 18/1/1392 را که با ممیز"/" از هم جدا شده اند را در نظر می گیریم. ماکروی زیر سال، ماه و روز را جدا نموده و در سه کادر پیغام نمایش میدهد. محل "/" مشخص نیست و ممکن است تاریخ به شکلهای گوناگونی مانند 18/01/1392 یا 18/1/1392 یا 18/01/92نوشته شود.


ادامه مطلب

برای اینکه همزمان چند workbook ‌ یا شیت را ببینید

برای هر شیت یا workbook گامهای1 و 2 را انجام دهید


ادامه مطلب

حلقه بی نهایت: در ساختار حلقه ای ممکن است به دلیل برقراری شرط (و یا برقرار نبودن شرط)  دستورات حلقه همواره انجام شوند و بدین ترتیب دستورات حلقه بی نهایت بار تکرار خواهد شد. در اینصورت هیچگاه از آن حلقه خارج نمی شویم و برنامه معلق(Hang) خواهد شد.

رهایی از حلقه بی نهایت: امکان و خطر حلقه بی نهایت  برای حلقه های Do…Loop بیش از حلقه For‌ وجود دارد. اگر برنامه شما در هنگام اجرا یا تست Hang‌ کرد با زدن دگمه Ctrl+Alt+Break اجرای برنامه قطع خواهد شد.

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

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


ادامه مطلب

در بسیاری مواقع لازم است که سطرهای خالی از یک شیت یا یک ناحیه از یک شیت اکسل حذف شوند. ماکرو زیر اینکار را انجام می دهد. قبل از اجرای این ماکرو لازم است ناحیه مورد نظر را انتخاب کنید. بدیهی است یرای اینکه سطرهای خالی یک شیت حذف شوند تمام یک شیت را انتخاب می کنیم.

برای اینکه بتوانید این ماکرو را اجرا کنید مراحل زیر را دنبال کنید


ادامه مطلب

برای ذخیره نمودن فایلهایی که حاوی ماکرو هستند شما می بایست آنها را در قالبmacro-enabled ذخیره نمایید. در اینصورت فایل شمابا پسوند   xlsm ذخیره می‌شود . در حالیکه فایلهای معمولی اکسل دارای پسوند xlsx   می باشند.


ادامه مطلب

ویژگی Interior  و دستور RGB

برای تغییر رنگ زمینه یک سلول یا ناحیه از ویژگی Interior ‌استفاده می کنیم . به عنوان مثال عبارت زیر زمینه سلول A1 ‌را تغییر می دهد:

Range("A1").Interior.Color = 8421504


ادامه مطلب

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 برای مشخص کردن یک ناحیه در اکسل استفاده می شود.

 

با انجام دستور  Select سلهای مورد اشاره انتخاب می شود. می توان بعد از  Rrange از این  دستور استفاده نمود.

دستور زیر را وارد کنید:

Range("F1:F10").Select

 

و دکمه  RUN  را بزنیم، ملاحظه می شود که سطرهای مورد ازF1 تا  F10 اشاره های انتخاب میشوند.

می توان به جای : از علامت ,  استفاده نمود که در این حالت سلولهای F1 و  F10می انتخاب می شوند.

 

VALUE=

 برای دادن مقدار از این دستور استفاده می کنیم.

 

مواردی که در بالا اشاره گردید خلاصه ای از سه دستور  ,RANGE VALUE,  SELECTبود که اشاره ای مختصر به آن گردید. در اینجا مقدمه ای بر برنامه نویسی ارایه گردید و در جلسات بعدی با برنامه نویسی بیشتر آشنا خواهیم شد. 

ماکروهایی که در اکسل ایجاد میشوند تنها در همان فایل قابل اجرا می باشند. برای اینکه بتوان یک ماکرو را همواره و همه جا در اکسل اجرا نمود روشهای ساده و مقدماتی مختلفی وجود دارد. یک روش  ایجاد ماکرو به شکل "ماکرو عمومی" و روش دیگر "تخصیص دگمه یا آیکون" برای ماکرو است.

 


ادامه مطلب

 

1.          مقدمه

VBA  که مخفف عبارت   Visual Basic For Applications یک زبان برنامه‌نویسی است که توسط شرکت نرم افزاری مایکروسافت طراحی شده است.  VBA در Excel و سایر نرم افزارهای آفیس گنجانده شده است.

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

VBA  با Visual Basic) VB) تفاوت دارد. اگر چه این دو شباهاتهایی هم با هم دارند ولی کاربردهای آنها متفاوت است. مهارت در VB به معنای مهارت در VBA نمی باشد اگر چه کار را برای یادگیری و پیشرفت در VBA هموار می کند. از سوی دیگر هر قدر در نرم افزارهای آفیس مهارت بیشتری داشته باشد در VBA توانایی و مهارت بیشتری خواهید داشت.

موارد استفاده از  VBA

·         خودکارسازی(automating) کارهای دستی و طولانی

·          خودکارسازی(automating) امور تکراری

·          سفارشی کردن و ایجاد رابط با کاربر(با استفاده از دگمه ها و منوها)

·          ایجاد توابع جدید که در اکسل وجود ندارد

·       ارتباط با سایر برنامه های office   مانند Word‌ و Access و Powerpoint

 2.            ایجاد ماکرو

اگر در اکسل(یا هر یک از نرم افزارهای آفیس) بخواهیم کارهای ثابتی را پشت سر هم انجام دهیم از ماکرو استفاده می کنیم. ماکرو این کارهای ثابت و پشت سر هم را ضبط می کند و بعدا میتوان از آن استفاده کرد.

Macro recorderمانند یک ضبط عمل می کند. در واقع از زمانیکه دگمه record ‌ زده میشود شروع به ضبط  ریز به ریز کلیه عملیات نموده و تا زمانیکه دگمه Stopزده شود اینکار را ادامه میدهد.

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

فیلم آموزشی زیر مراحل کار را خیلی ساده و سریع نمایش میدهد.

 

 http://alifatehi.persiangig.com/video/ExcelMacros.wvx 

 


ادامه مطلب
.: Weblog Themes By Iran Skin :.

درباره وبلاگ

آرشيو مطالب
امکانات وب