آموزش ماکرو در اکسل وچگونگی استفاده از آن
آموزش ماکرو در اکسل
شاید برای شما هم پیش اومده باشه که مجبور باشین یه سری کارهای تکراری رو هر روز در اکسل انجام بدین. کارهایی مثل کپی کردن یه بخش خاص از خروجی یک نرم افزار در یک شیت دیگه و غیره. گاهی این کارها وقت زیادی رو از ما میگیرند و خیلی هم کسل کننده میشن. اگر شما هم این شرایط رو تجربه کردید شاید بتونید با استفاده از ابزار ماکرو در اکسل از انجام این کارهای تکراری در اکسل راحت بشید. ماکروها قطعه کدهایی هستند که به زبان VBA که مخفف Visual Basic for Applications هست نوشته میشن. یکی از کاربردهای ایجاد ماکروها این هست که کارهایی که تکراری هستند بوسیله کدهایی توسط خود نرم افزار اکسل انجام بشن و نیازی به انجام اونها توسط کاربر نباشه. در ادامه این نوشته با نحوه ایجاد ماکرو در اکسل و اجرای اون آشنا میشیم.
در ابتدا باید بگم که من در این نوشته میخوام نحوه ایجاد ماکرو رو از طریق ضبط ماکرو در محیط اکسل توضیح بدم. در این حالت کدهای ماکرو توسط اکسل ایجاد میشن. ما میتونیم بدون انجام اینکار ماکروها رو مستقیم بوسیله کدنویسی VBA توسط خودمون هم ایجاد کنیم که باعث میشه بتونیم ماکروهایی با قدرت بیشتر بنویسیم و دستمون بازتر باشه ولی نیاز به دانش بیشتری داره. در آینده حتماً راجع به نحوه ایجاد ماکرو توسط کدنویسی خود کاربر هم مطلب خواهم نوشت. خب بریم سراغ ایجاد ماکرو توسط خود اکسل. فرض کنید نرم افزاری داریم که خروجی اون مطابق شکل زیر هست:
همونطور که در تصویر بالا میبینیم این خروجی فرمت مناسبی نداره. اگر ما هر روز بخوایم ازاین خروجی گزارشی در رابطه با محصول “ماوس” با فرمت مناسب مشابه شکل زیر تهیه کنیم:
در اینصورت باید هر روز بعد از گرفتن خروجی از نرم افزار ابتدا داده های خودمون رو بر اساس نوع محصول “ماوس” فیلتر کنیم، فونت مناسب برای خروجی مورد نظرمون انتخاب کنیم، سطر اول رو Bold کنیم و … که اینها زمان زیادی رو از ما میگیره و تبدیل به یک کار کسل کننده میشه. حالا میخوایم تمام اینکارها رو با استفاده از ایجاد ماکرو در اکسل به صورت خودکار انجام بدیم. برای اینکار از تب VIEW روی دکمه Macros کلیک میکنیم و در منوی باز شده گزینه Record macro رو انتخاب میکنیم.
پنجره ای به شکل زیر باز میشه که در اون میتونیم تنظیمات اولیه مربوط به ماکرویی رو که قصد ایجاد اون رو داریم انجام بدیم. این تنظیمات شامل موارد زیر هست:
Macro name:
در این قسمت یک نام برای ماکرویی که قصد ایجاد اون رو داریم انتخاب میکنیم
Shortcut key:
در این قسمت میتونیم یک کلید میانبر برای اجرای ماکرو تعریف کنیم. به عنوان مثال با نوشتن حرف U، ماکرو با کلید میانبر Ctrl+U اجرا میشه.
Store macro in:
در این بخش محل دخیره شدن ماکرو رو مشخص میکنیم. اگر گزینه This Workbbok رو انتخاب کنیم ماکرو در workbook فعلی ذخیره میشه. یادتون باشه که برای اینکه ماکرو در فایلتونن ذخیره بشه باید اون رو با پسوند xlsm ذخیره کنید. با انتخاب گزینه New Workbook یک Workbook جدید ایجاد میشه و ماکرو در اون ذخیره میشه.
با انتخاب گزینه Personal Macro Workbook، ماکرو در فایل مخصوصی به نام Personal.xlsb ذخیره میشه. این فایل هر زمان که شما اکسل رو باز میکنید به صورت مخفی توسط اکسل باز میشه. بنابر این اگر بخواید ماکرویی که ایجاد میکنید در تمام Workbook ها در دسترس باشه باید اون رو در Personal Macro Workbook ذخیره کنید.
Description:
در این بخش میتونید توضیحاتی راجع به ماکرو خودتون بنویسید.
بعد از اینکه تنظیمات مورد نظرتون رو انجام دادید اوکی رو کلیک کنید. با اینکار عملیات ضبط ماکرو شروع میشه و ازین به بعد شما هر کاری که انجام بدید توسط ماکرو اکسل ضبط میشه. حالا کارهای رو که میخواید ماکرو به صورت خودکار انجام بده رو به ترتیب انجام میدیم. به عنوان مثال در اینجا ما فونت گزارش رو تغییر میدیم، سطر اول رو Bold میکنیم، گروه محصول ماوس رو فیلتر میکنیم و …
بعد از اینکه تمام کارهای موردنظرمون رو انجام دادیم از تب View رو گزینه Macros کلیک میکنیم و بعد مثل شکل زیر گزینه Stop Recording رو کلیک میکنیم.
با انجام اینکار ما ماکرو مورد نظرمون رو ایجاد کردیم و کافیه ازین به بعد برای اجرای تمام این مراحل به صورت خودکار توسط اکسل، از بخش Macros گزینه View Macros رو انتخاب کنیم. با انتخاب این گزینه پنجره ای شامل ماکروهای ایجاد شده نمایش داده میشه. حالا باید ماکرو موردنظرمون رو انتخاب کنیم و گزینه Run رو کلیک کنیم.
با اینکار تمام مراحلی که قبلا انجام دادیم به صورت خودکار توسط ماکرو اجرا میشه و نیازی نیست تا ما مجدداً برای یک فایل جدید تمام اون مراحل رو به صورت دستی انجام بدیم. البته کاربرد ماکرو در اکسل خیلی بیشتر از این هست که سعی میکنم در آینده راجع به کاربردهای پیشرفته تر ماکرو در اکسل مطالب خوبی بنویسم.
بیایید یک تمرین را باهم انجام دهیم :
ابتدا نوار ابزار ویژال بیسیک را فعال کنید ، سپس ماکرویی را طراحی کنید که در سلول 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"