ماکرو نویسی استفاده از زبان وی بی ای VBA
بنام خدا
ماکرو نویسی در اکسل VBA
برای انجام عملیات تکراری و جستجو ی داده های مورد نظر می توان از ابزار قدرتمند ماکروها در اکسل استفاده کرد. ورود به ساختار برنامه نویسی ویژال بیسیک در اکسل که با عنوان VBA یا VISUAL BASIC FOR APPLICATION در اکسل و یا آفیس از آن یاد می گردد ، از مسیر زیر انجام می گیرد :
TOOLS | MACRO | VISAUL BASIC EDITOR
در حقیقت ماکرو ها، همان کدهایی هستد که توسط کاربر یا ماشین تولید می شوند. اگر شما یک ماکرو را با استفاده از ابزار ماکرو سازی طراحی و اجرا کنید آنرا توسط ماشین ساخته اید ولی اگر بخواهید انعطاف بیشتری به آن بدهید باید آنرا بنویسید( کد نویسی ). زبان وب بی ای در حقیقت معماری درونی اکسل و ابزاری قدرتمند برای نوشتن برنامه های پیشرفته و حلقوی است . این زبان که یک زبان شئ گراست ، اجزای درونی خود را به شکل اشیائی در نظر می گیرد که نرم افزار اکسل را تشکیل می دهند، مثل فایل ( کارپوشه WORKBOOK ) ، کاربرگ یا WORKSHEET و یا سلول RANGE .در حقیقت کارپوشه ها از اشیاء کاربرگ تشکیل شده اند و کاربرگ ها با اشیاء سلول کامل می شوند . هر شیء دارای یک سری خاصیت است . مثلا شما یک سنگ را در نظر بگیرید ، رنگ ، وزن ، شکل و... خواص سنگ محسوب می شوند .در وی بی ای VBA نیز همینطور است ، مثلا یک سلول دارای خواصی مثل محتویات ، اندازه فونت ، نام فونت ، رنگ ، فرمول ، کادر و .... می باشد. کاربران در برنامه نویسی در حقیقت این خواص را تغییر می دهند .
بیایید یک تمرین را باهم انجام دهیم :
ابتدا نوار ابزار ویژال بیسیک را فعال کنید ، سپس ماکرویی را طراحی کنید که در سلول A1 از کاربرگ 2 وارد شود .
مراحل ساخت ماکرو :
ابتدا کلید RECORD MACRO را می فشاریم و سپس به کاربرگ 2 و سلول A1 وارد می شویم و در آخر کلید STOP را می فشاریم .
حال برای دیدن کد ماکرو مسیر زیر را دنبال کنید :
کلید RUN را فشرده تا اسامی ماکرو ها ظاهر شود سپس ماکروی مورد نظر را انتخاب کرده کلید EDIT را می فشاریم تا متن ماکرو ( کد ) نمایش داده شود .
همانطور که مشاهده می کنید ماکرو با SUB و نام ماکرو ،شروع و با END SUB تمام می شود و در بین آنها عبارات برنامه نویسی نوشته شده است . سه رنگ در بدنه ی ماکرو بکار رفته 1- سبز: که معرف توضیحات برنامه است و هیچ تاثیری بر عملکرد ماکرو ندارد 2- آبی : کلمات کلیدی 3- سیاه : دستورات
Sub Macro1()
' Macro1 Macro
' Macro recorded 2007/04/23 by tozih
Sheets("Sheet2").Select
Range("A1").Select
End Sub
همانطور که از کد ها مشخص است ماکرویی بنام MACRO1 به کاربرگ 2 رفته و سلول A1 را در آن انتخاب می کند . در ساختار برنامه نویسی VBA تغییر خواص به صورت توارثی انجام می پذیرد ، یعنی هر خاصیت باید به شئ مورد نظر، با یک نقطه متصل باشد .
Range("A1").Select
در حقیقت برای تغییر خاصیت اشیاء باید ابتدا نام شئ را ذکر کرده سپس نقطه را قرار داده و آنگاه خاصیت مورد نظر را ذکر کنیم و مقادیر آنرا تغییر دهیم . مثلا :
RANGE("A2:A10").FONT.SIZE = 16
اندازه فونت محتویات سلول های A1 تا A10 را به 16 تغییر می دهد .
مثال دیگر ، محتویات سلول D2 از کاربرگ 3 را عبارت ALI TOZIH قرار دهید .
SHEETS("SHEET3").RANGE("D5").VALUE = "ALI TOZIH"
در ضمن خاصیت VALUE پیش فرض است و می توان آنرا حذف کرد :
SHEETS("SHEET3").RANGE("D5") = "ALI TOZIH"