
ماکروها در اکسل ابزاری قدرتمند برای خودکار سازی وظایف تکراری و ساده سازی فرآیندهای پیچیده هستند. در این مطلب با اصول اولیه ایجاد ماکروها، نحوه ماکرونویسی در اکسل و استفاده از آنها آشنا می شوید، و بهصورت گامبهگام نحوه ضبط و اجرای ماکروها در اکسل را برای شما توضیح خواهیم داد.
با یادگیری ماکروها، میتوانید ورود دادهها در اکسل، فرمتبندی، محاسبات و بسیاری از فرآیندهای دیگر را تنها با چند کلیک خودکار کنید. همچنین، با محیط Visual Basic for Applications) VBA) برای نوشتن کدهای ماکرو آشنا خواهید شد. فرقی نمیکند که مبتدی باشید یا یک کاربر حرفهای اکسل، در هر صورت، این راهنما به شما کمک میکند تا مهارتهای خود را در زمینه ماکروهای اکسل ارتقا دهید.
نکته: قبل از اجرای یا ویرایش ماکروها، همیشه یک نسخه پشتیبان از دادههای خود ذخیره کنید تا از تغییرات ناخواسته جلوگیری شود.
ماکرو در اکسل چیست؟
ماکروها در اکسل مجموعهای از دستورالعملها هستند که وظایف را بهصورت خودکار اجرا میکنند تا در زمان صرفه جویی شود و کارهای تکراری هم کاهش یابد. این دستورها با استفاده از زبان برنامه نویسی ویژوال بیسیک، که به آن VBA هم گفته میشود، ایجاد میشوند و به کاربران اجازه میدهند تا کارهایی مانند فرمتبندی سلولها، ایجاد گزارشها، انجام محاسبات، و سایر وظایف تکراری را ضبط کنند و سپس تنها با یک کلیک آنها را اجرا کنند.
ماکروها در اکسل برای سادهسازی فرآیندهای پیچیده و کاهش خطاهای انسانی بسیار مفید هستند. شما چه یک تحلیلگر داده باشید که با مجموعههای بزرگ داده کار میکند، یا اینکه صرفا برای کسب و کار خود به دنبال خودکارسازی وظایف روزمره هستید، ماکروها میتوانند به طرز چشمگیری کارایی شما را در اکسل افزایش دهند.
رابطه بین ماکرو و VBA در اکسل
VBA که مخفف عبارت Visual Basic for Applications است، یک زبان برنامهنویسی قدرتمند است که در اکسل استفاده میشود و با آن میتوانید کدهای سفارشی برای ایجاد ماکروها در اکسل تولید کنید.
با VBA در اکسل، میتوانید وظایفی را انجام دهید که با توابع استاندارد اکسل ممکن نیست. این زبان به شما این امکان را میدهد که ماکروهای پیشرفته ایجاد کنید، فرآیندهای تکراری را خودکارسازی کنید و دستورات پیچیده را با زدن یک دکمه اجرا کنید.
به عنوان مثال، تصور کنید که هر ماه باید یک گزارش مالی را فرمتبندی کنید. به جای اینکه هر بار این فرآیند را دستی انجام دهید، میتوانید یک ماکرو در اکسل ایجاد کنید که تمام مراحل را ضبط کرده و بهصورت خودکار اجرا کند. این کار باعث افزایش سرعت، کاهش خطاها و صرفهجویی در زمان میشود.
فعال کردن ماکرو در ویندوز
به صورت پیش فرض اکسل برای مسائل امنیتی اجرای ماکروها را غیر فعال می کند و زمانی که فایل اکسل را باز کنید یک پیام هشدار قرمز رنگ بالای صفحه می بینید که می گوید این فایل دارای ماکرو است. برای اینکه قادر باشید ماکروهایی که داخل یک فایل اکسل هستند را ببینید و با آنها کار کنید، باید ابتدا آنها را در تنظیمات اکسل خود فعال کنید. پس اگر بار اول است که از ماکروها استفاده میکنید، با انجام مراحل زیر میتوانید ماکروها را فعال کنید.
ابتدا فایل اکسل حاوی ماکرو را باز کنید و از قسمت نوار منوی بالای صفحه به مسیر Options < File بروید. در پنجره Excel Options، از پنل سمت چپ، Trust Center را انتخاب کنید. حالا روی Trust Center Settings در سمت راست کلیک کنید.

در پنجره Trust Center، گزینه Macro Settings را از سمت چپ انتخاب کنید. سپس تیک گزینه Enable Excel 4.0 macros را، همانطور که در تصویر زیر مشخص شده، بزنید تا فعال شود و بعد روی OK کلیک کنید. مجددا OK کنید. حالا فایل اکسل را ببندید.

در این مرحله برای فعال شدن ماکروهای اکسل باید یک تنظیم دیگر هم انجام دهید تا وقتی فایل اکسل را باز میکنید، بالای صفحه پیغام Enable Content را ببینید. برای این کار به محل ذخیره فایل اکسل بروید. روی فایل کلیک راست کنید و گزینه Properties را انتخاب کنید. مثل تصویر زیر تیک گزینه Unblock را بزنید تا انتخاب شود، و سپس Apply و OK کنید.

حالا اگر فایل اکسل را باز کنید با پیغام Macros have been disabled رو به رو می شوید. روی Enable Content کلیک کنید. به این صورت ماکروها برای شما اجرا خواهند شد.

اما دقت داشته باشید که ماکروها مسئله امنیتی در اکسل هستند؛ پس اگر فایلی دریافت کردید که دارای ماکرو بود، فقط در صورتی که به منبع فایل اعتماد دارید، ماکروهایش را فعال کنید.
فعال سازی Developer Mode در اکسل برای ماکرونویسی
قبل از اینکه برویم سراغ ماکرونویسی در اکسل و ایجاد ماکروها، برای اینکه دسترسی بهتری به ماکروها داشته باشید، میتوانید ابتدا حالت توسعهدهنده (Developer Mode) را در اکسل فعال کنید، اینگونه یک تب مختص ماکرونویسی و ویژوال بیسیک در اکسل خواهید داشت. برای این کار مراحل زیر را دنبال کنید:
در محیط اکسل، روی هر جایی از ریبون، درست مثل تصویر زیر، کلیک راست کنید و گزینه Customize the Ribbon را انتخاب کنید.

در پنلی که باز میشود، از قسمت View گزینه Developer را پیدا کنید و تیک آن را بزنید.
روی OK کلیک کنید تا تنظیمات ذخیره شوند.

البته شما از طریق تب View در اکسل هم میتوانید به ماکروها دسترسی پیدا کنید.
ضبط ماکرو در اکسل
دو روش برای ایجاد ماکرو در اکسل وجود دارد: نوشتن کد VBA یا ضبط ماکرو. وقتی یک ماکرو را ضبط میکنید، به اکسل دستور میدهید که شروع به ضبط کند. سپس، کارهایی که میخواهید به کد VBA تبدیل شوند را انجام میدهید. بعد از اتمام، ضبط را متوقف میکنید و در دفعات بعدی این ماکرو را برای اجرای مجدد همان عملیات بهکار میگیرید.
البته، محدودیتهایی در این روش وجود دارد و همه کارها را نمیتوان فقط با ضبط ماکرو خودکار کرد. در بسیاری از مواقع نیاز است که کدها را بهصورت دستی ویرایش کنید. اما برای شروع یادگیری VBA، ضبط ماکرو راهی مفید است.
مراحل ضبط ماکرو در اکسل
برای ضبط ماکرو هم از طریق تب View و هم Developer Mode میتوانید اقدام به ضبط کنید. برای این کار به این صورت عمل کنید:
در تب Developer، از گروه Code روی Record Macro کلیک کنید.

در پنجرهای که باز میشود، در قسمت Macro name اسمی برای ماکرو خود وارد کنید. اما دقت داشته باشید که فاصله (Space) مجاز نیست و در صورت نیاز، میتوانید از خط زیر (_) برای جدا کردن کلمات استفاده کنید. مثلا:
Macro1
از قسمت Shortcut key میتوانید یک کلید میانبر برای اجرای سریع ماکرو اختصاص دهید. این کلید میانبر ترکیبی از کلید Ctrl و یک کلید دلخواه است.
حالا محل ذخیره ماکرو را مشخص کنید.
در قسمت توضیحات (Description) میتوانید توضیحی مختصر درباره عملکرد ماکرو اضافه کنید.
پس از وارد کردن اطلاعات مورد نظر، روی OK کلیک کنید.

بهمحض کلیک روی OK، اکسل شروع به ضبط عملیات شما میکند. عملیات مورد نظر خود را در صفحه اکسل انجام دهید و پس از پایان عملیات در تب Developer روی گزینه Stop Recording کلیک کنید تا ضبط متوقف شود و ماکرو ایجاد شده ذخیره شود.
چطور ماکرو را اجرا کنیم
یکی از سادهترین روشها برای اجرای ماکرو در اکسل، استفاده از یک شکل (Shape) است. به این صورت که شما یک شکل در اکسل ایجاد میکنید و آن را به یک ماکرو اختصاص میدهید. برای این کار:
به تب Insert در نوار بالای صفحه بروید و در گروه Illustrations روی Shapes کلیک کنید.
یک شکل دلخواه از بین شکلها انتخاب کنید.

حالا باید شکل را به شیت اکسل اضافه کنید. پس در صفحه اکسل و در محل مورد نظر خود کلیک کنید تا شکل ایجاد شود. میتوانید اندازه شکل را تغییر دهید یا آن را فرمتبندی کنید.
در صورت تمایل، متن دلخواهی را داخل شکل وارد کنید.

حالا باید ماکرو خود را به این شکل اختصاص دهید. پس روی شکل کلیک راست کنید و گزینه Assign Macro را انتخاب کنید.

پنجرهای باز میشود که لیست ماکروهای موجود را نشان میدهد. ماکروی مورد نظر خود را از این لیست انتخاب کنید و روی OK کلیک کنید.

اکنون، هر بار که روی این شکل کلیک کنید، ماکروی اختصاص داده شده به آن اجرا خواهد شد.
اجرای ماکرو در اکسل با کلیک روی یک دکمه
علاوه بر استفاده از شکل، میتوانید یک دکمه استاندارد به ماکرو خود اختصاص دهید. این دکمهها دارای قالب مشخصی هستند و با یک کلیک میتوانند ماکرو را اجرا کنند.
مراحل اختصاص ماکرو به دکمه در اکسل:
به تب Developer بروید و در گروه Controls روی گزینه Button کلیک کنید.

روی هر قسمت از صفحه اکسل که کلیک کنید یک دکمه مستطیل شکل ایجاد میشود.
با کلیک کردن روی دکمه بلافاصله پنجره Assign Macro باز خواهد شد. ماکروی مورد نظر را انتخاب کنید و سپس روی OK کلیک کنید.
برخلاف شکلهای معمولی، این دکمهها قالب و فرمت پیشفرض دارند، پس نمیتوانید رنگ یا ظاهر آنها را تغییر دهید.اما متن روی دکمه را میتوانید تغییر دهید؛ روی دکمه کلیک راست کنید و گزینه Edit Text را انتخاب کنید.
سپس متن جدید را تایپ کنید.
اکنون، با کلیک روی این دکمه، ماکروی اختصاص داده شده به آن اجرا خواهد شد.
مشاهده لیست ماکروها در اکسل
اگر در فایل اکسل خود (ورک بوک) چندین ماکرو دارید که وظایف مختلفی انجام میدهند، میتوانید لیستی از ماکروهای خود را در اکسل مشاهده کنید و هر کدام را که خواستید اجرا کنید. برای این کار:
در تب Developer از گروه Code گزینه Macros را انتخاب کنید.
پنجرهای باز میشود که لیستی از ماکروهایی که در آن ورک بوک اکسل وجود دارند را به شما نشان میدهد.
در اینجا میتوانید ماکرو مورد نظر خود را انتخاب کنید و روی Run کلیک کنید تا اجرا شود. همچنین، با کلیک روی Edit میتوانید آن را ویرایش کنید.

ایجاد ماکرو در ویرایشگر VBA اکسل
اگرچه ضبط ماکرو (Record Macro) راهی سریع برای خودکار سازی وظایف است، اما نوشتن کد VBA به شما امکان میدهد ماکروهای پیچیدهتر با قابلیتهای پیشرفتهتری ایجاد کنید. برای نوشتن ماکروهای سفارشی با VBA باید یک Module ایجاد کنید پس مراحل زیر را دنبال کنید:
به تب Developer بروید و از گروه Code روی گزینه Visual Basic کلیک کنید تا پنجره ویرایشگر VBA باز شود.

حالا شیت اکسل مورد نظر خود که میخواهید در آن ماکرو ایجاد کنید را انتخاب و روی آن کلیک راست کنید. از منوی باز شده Insert و سپس Module را انتخاب کنید.

حالا میتوانید در پنجره Module کدهای خود را وارد کنید و در آخر روی Run کلیک کنید تا کد شما اجرا شود.
نوشتن ماکرو کپی کردن داده ها در اکسل
کپی و جایگذاری داده ها سادهترین روش برای جابهجایی اطلاعات در اکسل است، اما انجام مکرر آن میتواند خسته کننده باشد. شما میتوانید برای این کار یک ماکرو در اکسل بنویسید تا اطلاعات خودکار کپی شوند.
فرض کنید میخواهید مقادیری که در ستونهای A تا C هستند را کپی کنید. کافیست این کد را در ویرایشگر VBA وارد کنید:
Range(“A:C”).Copy
اما دقت کنید که در ویرایشگر VBA همیشه یک کد ماکرو با Sub Nameofmacro شروع میشود که در آن Nameofmacro اسم ماکروی شما است، و با End Sub تمام میشود. پس یعنی کدهای ماکرو در اکسل این فرم را دارند:
Sub Nameofmacro()
کدهای VBA اینجا قرار میگیرند
End Sub
خوشبختانه، اکسل بهصورت خودکار هنگام تایپ Sub و وارد کردن نام ماکرو، End Sub را در انتهای کد اضافه میکند.

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