آموزش ماکرو در اکسل به زبان ساده: کارهای تکراری را اتوماتیک انجام بده
آموزش ماکرو در اکسل به زبان ساده: کارهای تکراری را اتوماتیک انجام بده
تصور کنید هر روز صبح که به محل کار میرسید، باید یک فایل اکسل را باز کنید، چند ستون را قالببندی کنید، یک سری فرمول تکراری بنویسید، و گزارش را برای رئیستان ایمیل کنید. این کار هر روز ۲۰ دقیقه وقت شما را میگیرد—یعنی سالی ۸۰ ساعت! حالا تصور کنید دکمهای داشتید که با یک کلیک، همه این کارها را در ۵ ثانیه انجام میداد. این دکمه جادویی وجود دارد و اسمش «ماکرو» (Macro) است. در این راهنما، آموزش ماکرو در اکسل به زبان ساده را از صفر شروع میکنیم. لازم نیست برنامهنویس باشید یا حتی با فرمولهای پیچیده آشنا. اگر میتوانید یک فایل را ذخیره کنید، میتوانید ماکرو بسازید. تا پایان این مقاله، شما میتوانید اولین ربات شخصی خود را در اکسل خلق کنید.
ماکرو دقیقاً چیست؟ (بدون کلمههای سخت)
ماکرو یک ضبطکننده کارهای شما در اکسل است. تصور کنید گوشی شما قابلیت ضبط صفحه نمایش دارد. ماکرو دقیقاً همین است: شما دکمه ضبط را میزنید، کارهایتان را انجام میدهید (مثلاً یک ستون را رنگی میکنید، فیلتر میگذارید، فرمول وارد میکنید)، سپس دکمه توقف را میزنید. حالا اکسل تمام آن کارها را به صورت یک برنامه کوچک ذخیره میکند. دفعه بعد، با یک کلیک همان کارها را به صورت خودکار انجام میدهد.
پس:
- ماکرو = یک ربات کوچک در اکسل
- یادگیری آن = برنامهنویسی ساده (ولی بدون نیاز به دانش قبلی)
- نتیجه = ساعتها صرفهجویی در وقت و کاهش خطاهای انسانی
برای چه کارهایی میتوان ماکرو ساخت؟
- فرمتبندی جداول (فونت، رنگ، حاشیه)
- کپی دادهها از یک شیت به شیت دیگر
- ایجاد گزارشهای یکسان از دادههای متغیر
- ارسال ایمیل از داخل اکسل
- اتصال به پایگاه داده و دریافت اطلاعات
فعالسازی تب Developer و تنظیمات امنیتی (اولین قدم)
قبل از هر چیز، باید جعبه ابزار ماکرو را که در حالت عادی مخفی است، ظاهر کنیم.
فعالسازی تب Developer در اکسل (آفیس ۲۰۲۶):
- روی منوی File کلیک کنید.
- گزینه Options را انتخاب کنید.
- در پنجره باز شده، روی Customize Ribbon کلیک کنید.
- در ستون سمت راست، تیک Developer را بزنید.
- OK کنید.
حالا یک تب جدید به نام Developer در نوار بالای اکسل میبینید. تمام ابزارهای ماکرو اینجا هستند.
تنظیمات امنیتی ماکرو (خیلی مهم!)
اکسل به طور پیشفرض ماکروها را به دلیل خطرات امنیتی مسدود میکند. باید به آن بگوییم به فایلهای خودمان اعتماد کند:
- به تب Developer بروید.
- روی دکمه Macro Security کلیک کنید.
- گزینه Disable VBA macros with notification را انتخاب کنید.
- OK کنید.
از این پس، وقتی فایلی حاوی ماکرو باز کنید، یک نوار اخطار زرد رنگ ظاهر میشود که میتوانید با کلیک روی Enable Content ماکرو را فعال کنید. هرگز این دکمه را برای فایلهای ناشناس یا دانلودی از اینترنت نزنید.

ضبط اولین ماکرو (گامبهگام با یک مثال واقعی)
فرض کنید هر روز یک فایل فروش دریافت میکنید که ستونهایش نامرتب است: ستون A خیلی باریک، اعداد بدون جداکننده هزارگان، و فونت نامناسب. میخواهیم ماکرویی بسازیم که با یک کلیک این قالببندی را انجام دهد.
سناریوی تمرینی:
دادهها در Sheet1 قرار دارند: ستون A تاریخ، ستون B محصول، ستون C مبلغ.
هدف ماکرو:
- ستون A را به عرض ۱۵ تنظیم کند.
- ستون C را به فرمت عددی با جداکننده هزارگان تبدیل کند.
- سطر اول (عنوانها) را Bold و زمینه آن را طوسی کند.

مراحل ضبط:
- شروع ضبط: به تب Developer بروید و روی Record Macro کلیک کنید.
- نامگذاری: در پنجره باز شده، نام ماکرو را FormatReport بگذارید (بدون فاصله). میتوانید یک کلید میانبر مثل Ctrl+Shift+F تعریف کنید. در قسمت Store macro in، گزینه This Workbook را انتخاب کنید.
- OK کنید. حالا اکسل در حال ضبط است (میتوانید وضعیت “Recording” را در گوشه پایین سمت چپ ببینید).
- انجام کارها به ترتیب:
- روی ستون A کلیک راست کرده، Column Width را ۱۵ قرار دهید.
- ستون C را انتخاب کنید. روی آن کلیک راست کرده، Format Cells را بزنید. در تب Number، Category را Number بگذارید، تیک Use ۱۰۰۰ Separator را بزنید و OK کنید.
- سطر ۱ را انتخاب کنید. با دکمه Ctrl+B آن را Bold کنید. از تب Home، رنگ Fill را یک رنگ طوسی روشن انتخاب کنید.
- توقف ضبط: به تب Developer برگردید و روی Stop Recording کلیک کنید.
تبریک! شما اولین ماکرو خود را ساختید. حالا هر وقت که بخواهید، میتوانید آن را اجرا کنید.

نگاهی به کد VBA بدون ترس
حالا بیایید ببینیم پشت صحنه چه اتفاقی افتاده است. در تب Developer، روی دکمه Visual Basic کلیک کنید (یا Alt+F11 را بزنید).
پنجرهای به نام Microsoft Visual Basic for Applications (VBA) باز میشود. در سمت چپ، در پنجره Project، ماژولی به نام Module1 دیده میشود. روی آن دابل کلیک کنید. چیزی شبیه زیر میبینید:
Sub FormatReport()
‘
‘ FormatReport Macro
‘
Columns(“A:A”).ColumnWidth = 15
Columns(“C:C”).Select
Selection.NumberFormat = “#,##0”
Rows(“1:1”).Select
Selection.Font.Bold = True
With Selection.Interior
.Pattern = xlSolid
.Color = 10086110
End With
End SubEnd Sub
نترسید! این کدها ترجمه کارهایی است که کردید:
- Sub FormatReport() یعنی شروع ماکرویی به نام FormatReport.
- Columns(“A:A”).ColumnWidth = ۱۵ یعنی عرض ستون A را ۱۵ کن.
- Selection.NumberFormat = “#,##۰” یعنی فرمت عددی با جداکننده هزارگان.
- Selection.Font.Bold = True یعنی Bold کن.
- End Sub یعنی پایان ماکرو.
شما میتوانید این کد را به سادگی تغییر دهید. مثلاً اگر میخواهید عرض ستون A به جای ۱۵، ۲۰ باشد، فقط عدد را عوض کنید. این یعنی حتی بدون دانش برنامهنویسی، میتوانید ماکرو را شخصیسازی کنید.
روشهای اجرای ماکرو: دکمه، کلید میانبر و نوار ابزار
ساختن ماکرو فقط نیمی از راه است. حالا باید آن را به راحتی اجرا کنید.
روش ۱: دکمه فشاری روی شیت
- به تب Developer بروید و روی Insert کلیک کنید.
- از قسمت Form Controls، دکمه Button را انتخاب کنید.
- یک مستطیل در محل دلخواه شیت بکشید.
- پنجره Assign Macro باز میشود. FormatReport را انتخاب کرده و OK کنید.
- روی دکمه کلیک راست کنید، متن آن را مثلاً به «فرمتبندی گزارش» تغییر دهید.
حالا هر وقت دکمه را بزنید، ماکرو اجرا میشود.
روش ۲: کلید میانبر
هنگام ضبط ماکرو (یا بعداً از طریق Developer > Macros > Options)، میتوانید یک کلید میانبر مانند Ctrl+Shift+F تعیین کنید. با فشردن آن ترکیب، ماکرو اجرا میشود.
روش ۳: افزودن به Quick Access Toolbar
- روی فلش کوچک کنار Quick Access Toolbar (بالای صفحه) کلیک کنید و More Commands را بزنید.
- از منوی Choose commands from، گزینه Macros را انتخاب کنید.
- ماکرو FormatReport را به لیست سمت راست اضافه کنید.
- OK کنید. حالا یک دکمه در بالاترین قسمت اکسل دارید که همیشه در دسترس است.

۵ مثال عملی ماکرو برای کارهای اداری روزمره
در اینجا پنج سناریوی واقعی و کد ماکروی آنها را میآورم. برای هر کدام، میتوانید یک ماکرو ضبط کنید و سپس کد را به دلخواه ویرایش نمایید.
مثال ۱: کپی خودکار دادههای یک شیت به شیت دیگر
فرض کنید هر روز دادههای جدیدی در Sheet1 میریزید و میخواهید یک نسخه پشتیبان در Sheet2 (با نام “Archive”) ذخیره کنید.
- یک ماکرو ضبط کنید: Sheet1 را انتخاب، Ctrl+A (انتخاب همه)، Ctrl+C، سپس به Sheet2 بروید، سلول A1 را انتخاب، Ctrl+V.
- کد VBA ساده:
Sub BackupData()
Sheets(“Sheet1”).Cells.Copy
Sheets(“Archive”).Range(“A1”).PasteSpecial xlPasteAll
Application.CutCopyMode = False
End Sub
مثال ۲: ایجاد فهرست خودکار از نام شیتها
اگر Workbook شما شیتهای زیادی دارد، میتوانید با این ماکرو یک فهرست از نام آنها در Sheet اصلی بسازید.
- ضبط ماکرو دشوار است، کد زیر را مستقیماً در ماژول وارد کنید:
Sub ListSheets()
Dim i As Integer
i = 1
For Each ws In Worksheets
Sheets(“Main”).Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub
مثال ۳: فیلتر خودکار و کپی نتایج
هر روز جدول فروش را فیلتر میکنید (مثلاً محصول “لباس”) و نتیجه را به شیت دیگری منتقل میکنید. ماکرو ضبط شده این کار را خودکار میکند.
مثال ۴: ارسال ایمیل از اکسل
با استفاده از VBA میتوانید یک ایمیل با محتوای سلولها از طریق Outlook بفرستید. یک ماکرو ساده برای این کار (نیاز به تنظیم Outlook دارد):
Sub SendMail()
Dim OutApp As Object, OutMail As Object
Set OutApp = CreateObject(“Outlook.Application”)
Set OutMail = OutApp.CreateItem(0)
With OutMail
.To = Range(“B1”).Value
.Subject = Range(“B2”).Value
.Body = Range(“B3”).Value
.Send
End With
Set OutMail = Nothing: Set OutApp = Nothing
End Sub
مثال ۵: تبدیل فرمولها به مقدار ثابت
برای آرشیو کردن یک گزارش که پر از فرمول است و میخواهید فقط نتایج نهایی بمانند. کافی است کل شیت را انتخاب کرده، Copy و سپس Paste Special > Values کنید. ماکرو ضبط شده این کار را برای کل Sheet انجام میدهد.
امنیت ماکرو: چه خطری دارد و چطور در امان بمانیم
ماکروها قدرت زیادی دارند، اما میتوانند خطرناک هم باشند. یک ماکرو مخرب میتواند فایلهای شما را پاک کند یا اطلاعات را بدزدد. رعایت این نکات برای استفاده ایمن ضروری است:
- هرگز ماکرو فایلهای ناشناس را فعال نکنید. اگر یک فایل اکسل از ایمیل ناشناس دریافت کردید، حتی اگر وسوسه شدید روی Enable Content نزنید.
- تنظیم امنیتی را روی “Disable with notification” نگه دارید. اینطوری اختیار تصمیمگیری با شماست.
- فایلهای ماکرو را با پسوند xlsm. ذخیره کنید. این پسوند نشان میدهد فایل حاوی ماکرو است و دیگران را آگاه میکند.
- از امضای دیجیتال استفاده کنید (ویژه سازمانها). امضای دیجیتال تأیید میکند که ماکرو از منبع معتبری آمده است.
- کد ماکرو را قبل از اجرا در فایلهای مهم بررسی کنید. اگر از کسی فایلی دریافت کردهاید، میتوانید با Alt+F11 کد ماکرو را مشاهده کنید. اگر کد پیچیده و نامفهومی دیدید که مثلاً سعی در دسترسی به اینترنت یا حذف فایل دارد، آن را اجرا نکنید.
۴ اشتباه رایج و راهحل آنها
- فراموش کردن توقف ضبط: بعد از اتمام کارها، حتماً Stop Recording را بزنید. در غیر این صورت، تمام کلیکهای اضافی شما هم ضبط میشود و ماکرو شلوغ میشود.
- ضبط با ارجاعهای نسبی اشتباه: اگر میخواهید ماکرو روی سلولهای مختلف اجرا شود (نه فقط همان سلولی که ضبط کردید)، قبل از ضبط، در تب Developer دکمه Use Relative References را فعال کنید. در غیر این صورت، ماکرو همیشه به همان سلولهای ثابت برمیگردد.
- نادیده گرفتن پیام خطا: اگر ماکرو پیغام خطا داد، روی Debug کلیک کنید. خط زرد رنگ نشان میدهد مشکل کجاست. معمولاً مشکل از نام شیت یا محدوده اشتباه است.
- ذخیره نکردن فایل با فرمت صحیح: اگر ماکرو بسازید و فایل را با پسوند xlsx. ذخیره کنید، همه ماکروها پاک میشوند! حتماً از xlsm. (Macro-Enabled Workbook) یا xlsb. استفاده کنید.
آینده اتوماسیون: Office Scripts در برابر VBA
از سال ۲۰۲۲، مایکروسافت فناوری جدیدی به نام Office Scripts را برای Excel ۳۶۵ معرفی کرده است. این فناوری به شما اجازه میدهد بدون نیاز به VBA، اتوماسیونهای خود را با زبان TypeScript (مشابه JavaScript) بسازید و در فضای ابری به اشتراک بگذارید. برای کاربران تازهکار و سازمانهایی که به دنبال راهحلهای امنتر و سازگار با وب هستند، Office Scripts یک گزینه مدرن است.
| ویژگی | VBA (ماکرو سنتی) | Office Scripts |
| زبان برنامهنویسی | Visual Basic for Applications | TypeScript (JavaScript) |
| محل اجرا | فقط در نسخه دسکتاپ | نسخه تحت وب و دسکتاپ (۳۶۵) |
| ضبط خودکار | بله (Record Macro) | بله (Record Actions) |
| اشتراکگذاری | نیاز به فایل xlsm. | در فضای ابری از طریق Power Automate |
| پیچیدگی یادگیری | ساده برای شروع | ساده برای شروع |
| قدرت و انعطاف | بسیار بالا (کنترل کامل سیستم) | مناسب برای اتوماسیونهای شیتمحور |
اگر تازه کار هستید و از Microsoft ۳۶۵ استفاده میکنید، میتوانید با Automate > Record Actions مشابه ضبط ماکرو، اسکریپت بسازید. اما VBA همچنان برای کنترل کامل بر ویندوز و نرمافزارهای دیگر (مثل Outlook) بیرقیب است. یادگیری هر دو، شما را به یک متخصص کامل اتوماسیون تبدیل میکند.
سوالات متداول (FAQ)
۱. آیا ماکرو فقط در اکسل است؟
خیر، ماکرو در ورد، پاورپوینت، اکسس و اوتلوک نیز وجود دارد، اما در اکسل به دلیل حجم کارهای تکراری، بسیار محبوبتر است.
۲. آیا میتوانم ماکرو را بین چند فایل استفاده کنم؟
بله، اگر ماکرو را در Personal Macro Workbook ذخیره کنید، در تمام فایلهای اکسل که باز میکنید در دسترس خواهد بود.
۳. تفاوت ماکرو و Power Query چیست؟
ماکرو (VBA) برای خودکارسازی عملیات در اکسل و تعامل با دیگر برنامههاست. Power Query برای استخراج، تمیز کردن و شکلدهی به دادهها از منابع مختلف است. اغلب این دو مکمل یکدیگرند.
۴. آیا یادگیری VBA سخت است؟
برای کارهای ساده، ضبط ماکرو کافی است و نیازی به یادگیری VBA ندارید. اما اگر بخواهید ماکروهای حرفهایتر بسازید، یادگیری اصول VBA حدود ۲-۳ هفته زمان میبرد و بسیار ارزشمند است.
۵. چطور یک ماکرو را حذف کنم؟
تب Developer > Macros، ماکرو را انتخاب و Delete کنید. یا در VBA Editor، ماژول حاوی کد را حذف نمایید.
۶. ماکرو در اکسل آنلاین (Web) کار میکند؟
خیر، VBA در نسخه تحت وب پشتیبانی نمیشود. برای وب باید از Office Scripts استفاده کنید.
جمعبندی و مسیر تبدیل شدن به حرفهای
شما اکنون با آموزش ماکرو در اکسل به زبان ساده، از یک کاربر معمولی که ساعتها کار تکراری انجام میداد، به فردی تبدیل شدهاید که میتواند در چند کلیک همان کارها را به انجام برساند. این اولین قدم به دنیای اتوماسیون اداری است—دنیایی که در آن بهرهوری چند برابر میشود و خطاها به صفر میرسند.
برای تبدیل شدن به یک متخصص واقعی، میتوانید مسیر زیر را دنبال کنید:
- تمرین ضبط ماکرو برای تمام کارهای تکراری روزانه.
- یادگیری اصول VBA (متغیرها، حلقهها، شرطها) برای نوشتن ماکروهای سفارشی.
- آشنایی با Power Query و Power Pivot برای تحلیل دادهها.
- یادگیری Office Scripts برای اتوماسیون ابری.
- شرکت در دورههای پروژهمحور که نمونههای واقعی از صنایع مختلف را پوشش میدهند.
اگر به دنبال یک جهش واقعی در مهارتهای کامپیوتری خود هستید و میخواهید در بازار کار بدرخشید، دورههای تخصصی که از مبانی تا پیشرفته را با پروژههای واقعی آموزش میدهند، بهترین انتخاب شما خواهند بود.
همین امروز شروع کنید—اکسل شما منتظر است تا به یک دستیار تمامعیار تبدیل شود.
منابع و مراجع
- Microsoft Learn – VBA for Excel documentation
- Excel Easy – Excel VBA Tutorial
- My Online Training Hub – Introduction to Macros and VBA
- Microsoft Tech Community – Office Scripts vs VBA comparison
- How-To Geek – How to Record and Run Macros in Excel
- PCWorld – Excel Macros for Beginners
