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

VBA یا Visual Basic for Applications با اجرای دنبالهای از دستورات که ماکرو نامیده میشود، کار میکند. اگر قبلاً ماکروها را در برنامههای دیگر استفاده کردهاید، این دقیقاً همان مفهوم است.
ممکن است فکر کنید نوشتن کد دشوار است، اما برنامههای Microsoft Office به گونهای ساخته شدهاند که اشیائی را در دسترس قرار میدهند که میتوانند دستورات را دریافت کنند. برای مثال، باز کردن یک سند در Word، انجام چند تغییر، ذخیرهسازی سند، و سپس بستن آن. در زمینه VBA، Word یک شیء سند را در دسترس میگذارد و به آن دستور میدهد تا کارهایی مانند باز کردن، ویرایش، ذخیره و بستن را با کد VBA انجام دهد. میتوانید از همین مفهوم برای ارسال ایمیل از یک صفحهٔ اکسل نیز استفاده کنید.
نکتهٔ بهترین در استفاده از VBA در اکسل این است که اگر نمیخواهید حتی یک خط کد بنویسید، نیازی نیست. پس از ضبط چند ماکرو پایهای، میتوانید از آنها به عنوان قالب استفاده کنید و با کمک ابزارهای هوش مصنوعی یا راهنمای مبتدی VBA مایکروسافت، تغییرات کوچکی در کد ایجاد کنید و فقط آنچه نیاز دارید را ویرایش کنید.
سادهترین راه برای شروع با VBA
چگونه اولین ماکرو خود را بدون ایجاد مشکل بنویسیم
بهجای نوشتن اسکریپتهای VBA از ابتدا، توصیه میکنم از ضبطکنندهٔ ماکرو توکار در اکسل استفاده کنید تا اسکریپتهای VBA تولید شوند که در صورت نیاز میتوانید آنها را سفارشی کنید. همچنین گزینههای متعددی برای مشاهده و ضبط ماکروها در اکسل وجود دارد. میتوانید از برگهٔ View استفاده کنید و روی دکمهٔ Macro کلیک کنید تا بهسرعت ماکروهای جدید را ضبط کرده و ماکروهای قبلی را مشاهده کنید.
با این حال، اگر میخواهید ماکروها را بنویسید یا ویرایش کنید، به برگهٔ Developer نیاز دارید. این مراحل را برای فعالسازی آن دنبال کنید:
- راستکلیک کنید روی هر قسمتی از منوی ریبن و گزینهٔ Customize the ribbon را انتخاب کنید.
- در بخش Customize Ribbon، گزینهٔ Developer را در لیست Main Tabs پیدا کرده و علامت بزنید.
پس از فعال شدن بخش Developer، میتوانید از آن برای ضبط ماکروهای جدید و مشاهده و ویرایش ماکروهای موجود استفاده کنید. همچنین دکمهٔ Visual Basic وجود دارد که ویرایشگر ماکرو را باز میکند.

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

بهمحض اینکه این موارد را درک کردید، صفحات گسترده زنده میشوند.
پیشنهاد میکنم چند هفته بهسراغ مثالهای پایهای مثل کپیکردن دادهها بین شیتها، قالببندی سلولها و فیلتر کردن دادهها بپردازید. ابزارهای کدنویسی ویبرهای Gemini 3 میتوانند نیز کمک کنند اگر احساس میکنید گیر کردهاید یا چیزی را نمیفهمید. پیش از این که بفهمید، شما ماکروهایی مینویسید که هرگز فکر نمیکردید بهصورت دستی بنویسید چون آنها بسیار وقتگیر بودند.
اتوماسیونهایی که هر روز سود میآورند
چند خط کد میتوانند ساعتها کار تکراری را ذخیره کنند
ورود به VBA نحوهٔ استفادهٔ من از اکسل را ارتقا داد. من دیگر فقط یک ابزار صفحهٔ گسترده نمیبینم، بلکه یک محیط برنامهنویسی میبینم. اکنون وقتی با وظایفی در اکسل مواجه میشوم، اولین واکنش من نه استعفا، بلکه کنجکاوی است که چگونه میتوانم آن را خودکار کنم.
MUO Report
MUO Report
نیازی به برنامهنویس بودن ندارید تا از VBA بهرهمند شوید؛ فقط کافی است وقت بگذارید تا مبانی را بیاموزید و با مثالها بازی کنید. اگر زمان معناداری را در اکسل میگذرانید، اسکریپتنویسی پایهٔ VBA یکی از مهارتهایی است که بلافاصله سودآوری میکند و به مرور زمان ترکیب میشود. به یاد داشته باشید، VBA زبانی رمزی برای دانشمندان کامپیوتر نیست. این فقط روشی برای گفتن به اکسل است که کاری را بهخاطر بسپارد و هر بار بهدقت تکرار کند.