آموزش الکترونیکی علمی-کاربردی صنعت آب و برق

آموزش مجازی در صنعت آب و برق

آموزش الکترونیکی علمی-کاربردی صنعت آب و برق

آموزش مجازی در صنعت آب و برق

ماکرو در اکسل- بخش پنجم: نوشتن یک ماکرو

اسماعیل میرزایی:

در بخش اول توضیح داده  شد که برای ایجاد ماکرو دو روش وجود دارد، روش اول ضبط ماکرو که توضیح داده شد و روش دوم نوشتن کد برنامه در محیط VB که در این بخش با یک مثال توضیح داده میشود.

 یک فایل جدید excel بنام test1 ایجاد نمایید. در سلولهای A1 تا A10  نام کوچک ده نفر و در سلولهای B1 تاB10 نام خانوادگی آن ده نفر را وارد نمایید. به محیط VB بروید. در پنجره project window پس از دابل کلیک برروی VBAProject(test1.xls) از منوی باز شده گزینه Insert و سپس زیر منوی module  را انتخاب کنید. با این ترتیب در پنجره code window مدول جدید ایجاد میشود. در مدول ایجاد شده عبارت SubProtest1() را تایپ و دکمه enter  را فشار دهید.عبارت End sub در خط بعد ظاهر میشود.بین این دو عبارت برنامه زیر را تایپ کنید:

 

Sheet1.Select
Range("C1").Select

Do Until Selection.Offset(0, -2).Value = " "
   Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
   Selection.Offset(1, 0).Select
Loop

Range("A1").Select

به محیط excel برگشته و ماکروی فوق را اجرا نمایید. در نتیجه اجرای ماکروی فوق، در سلولهای C1 تا C10 ترکیب نام و نام خانوادگی هر فرد درج شده است.

توضیح برنامه:

خط اول بمعنی انتخاب sheet1 از فایل مورد نظر و خط دوم انتخاب سلول C1 میباشد. خطوط سوم تا ششم دستورات ایجاد حلقه است که شرط پایان حلقه در خط سوم تعریف شده (تا زمانیکه ممحتوای سلولی که بفاصله دو سلول سمت چپ سلول انتخاب شده است (یعنی سلول A1 ) تهی نباشد حلقه ادامه پیدا کند.) خطوط چهارم و پنجم بدنه حلقه میباشد. خط چهارم یک دستور انتساب است که بر اساس آن محتوای سلول انتخاب شده برابر است بامحتوای سلول دوم از سمت چپ سلول انتخاب شده ، یک فاصله خالی(" " ) و محتوای سلول اول از سمت چپ سلول انتخاب شده . خط پنجم دستور رفتن از سلول انتخاب شده به یک سلول پایین تر ودستور آخر انتخاب سلول A1 پس از اتمام حلقه میباشد.

ماکرو در اکسل- بخش چهارم: بررسی و تغییر یک ماکروی ضبط شده

اسماعیل میرزایی:

فایلی را که درآن ماکروی مثال قبل ضبط شده باز کنید و به محیط VBE بروید.در پنجره Project Window برروی module کلیک نموده سپس برروی module1 دابل کلیک نمایید.در اینصورت در پنجره    Code  Window برنامه ماکرو ضبط شده را مشاهده میکنید.(شکل1)

 

توضیح: برای دیدن شکل و خواندن متن کامل به صورت pdf می توانید به این لینک مراجعه بفرمایید.

خطوطی که با رنگ سبز مشخص شده توضیحات برنامه میباشد که در این زبان حتما باید هرخط با علامت  '    شروع شود.دستورات اصلی برنامه با خط مشکی یا آبی مشخص شده است.دو خط اول برنامه یعنی

 

Range("a1").select

AactiveCell.FormulaR1C1="34"

 

معادل دستور انتخاب سلول A1 و درج عدد 34 در آن میباشد.در VBA دستور دیگری نیز برای درج مقدار در سلول وجود دارد که میتوان بجای خط دوم  از آن استفاده کرد:

ActiveCell.Value=34

 

این موضوع برای خط چهارم برنامه که دستور درج عدد 55 در سلول A2 میباشد نیز صدق میکند.ضمنا دستور دیگری وجود دارد که میتواند بتنهایی جایگزین خطوط 1 و2 شود:

Range("A1").value=34

 

همچنین دستور زیر که جایگزین خطوط 3 و 4 میشود:

 

Range("A2").value=55

 

خطوط 5و6 معادل دستور انتخاب سلول A3 و درج فرمول در آن میباشد که میتوان دستور زیر را جایگزین این دو خط نمود:

Range("A3").Formula="=A1+A2"

 

خطوط 7 و 8 نیز با همین اصول میتواند با دستور زیر جایگزین گردد:

Range("A2").Font.Colorindex=3

 

عدد 3 کد معادل رنگ قرمز میباشد.

خطوط 9 تا 13 معادل دستور انتخاب سلول A1 و اعمال رنگ زمینه آبی میباشد که  میتوان دو خط زیر را جایگزین نمود:

Range("A1").Interior.Colorindex=41

Range("A1").Interior.Pattern=Xlsolid

 

باقیمانده خطوط برنامه معادل دستور اعمال سایز فونت به سلول A3 میباشد که دستور زیر میتواند جایگزین خطوط مذکورشود:

Range("A3").Font.Size=24

 

در نهایت با تغییرات توضیح داده شده برنامه ماکرو بصورت زیر در می آید که از نظر اجرا معادل برنامه قبل(شکل 3) میباشد:        

 

 

 

 

 

Sub Macro1()

'  

'     Macro1 Macro

'     Macro recorded 2007/09/26 by e.mirzaie

'

         Range("A1").value=34  

        Range("A2").value=55

        Range("A3").Formula = "=A1+A2"
        Range("A2").Font.ColorIndex = 3
        Range("A1").Interior.ColorIndex = 41
        Range("A1").Interior.Pattern = xlSolid
        Range("A3").Font.Size = 24    

End Sub

همانطور که اشاره شد این برنامه دقیقا معادل ماکروی ضبط شده میباشد.در صورت نیاز میتوانید تغییرات مورد نظر خود را در ماکرو اعمال نمایید.مثلا میتوانید با تغییر عدد 3 به 6 رنگ فونت سلول A2  را از قرمز به زرد تبدیل نمایید.

ماکرو در اکسل- بخش سوم: محیط Visual Basic Editor

اسماعیل میرزایی:

ماکروهایی که به روش اول (ضبط ماکرو) ایجاد میشوند را میتوان در محیط VB تغییر داد. در اصل در این محیط میتوان دستورات ماکرو را به زبان VB رویت نمود و در صورت آشنایی با این زبان آنها را تغییر داد. VBE در برنامه اکسل تعبیه شده است.

ادامه مطلب را در اینجا بخوانید.