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

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

فایلی را که درآن ماکروی مثال قبل ضبط شده باز کنید و به محیط 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  را از قرمز به زرد تبدیل نمایید.