آموزش ماکرونویسی در اکسل
ماکروی اکسل یک عمل یا مجموعهای از اقدامات است که می توانید آن را ضبط کنید، نام گذاری و ذخیره کنید و هر چند بار که بخواهید و هر زمان که بخواهید اجرا کنید. ماکروها به شما کمک می کنند تا در زمان کارهای تکراری مربوط به دستکاری داده ها و گزارش های داده که باید به طور مکرر انجام شوند، صرفه جویی کنید. در ادامه با ما همراه باشید با آموزش ماکرونویسی در اکسل.
ماکرو چیست و چرا به آن نیاز داریم؟
ماکرو قطعهای از کد در اکسل است که میتوانید از آن برای خودکار کردن بسیاری از کارهای روتین استفاده کنید. در واقع ماکروی اکسل یک عمل یا مجموعهای از اقدامات است که می توانید آن را ضبط کنید، نام گذاری و ذخیره کنید و هر چند بار که بخواهید و هر زمان که بخواهید اجرا کنید. ماکروها به شما کمک می کنند تا در زمان کارهای تکراری مربوط به دستکاری داده ها و گزارش های داده که باید به طور مکرر انجام شوند، صرفه جویی کنید.
با استفاده از ماکرو میتوان عملیات پیچیدهای مثل دستهبندی اطلاعات، مرتب کردن آنها و همچنین رسم نمودار را ساده کرد. بعضی از متخصصان یا علاقهمندان این حوزه، ماکرو را VBA مینامند (مخفف Visual Basic for Applications). دلیل این نامگذاری، استفاده اکسل از کدهای ویژوال بیسیک برای ساخت، ذخیره و اجرای ماکرو ها است.
شاید شنیده باشید که اصطلاحات “ماکرو” و “VBA” به جای یکدیگر استفاده می شوند، اما یک تمایز وجود دارد. به زبان ساده، VBA زبان برنامه نویسی است که برای نوشتن ماکرو استفاده می شود.
هنگامی که کمی تجربه دارید، می توانید از VBA برای ایجاد ماکروهای پیچیده تر استفاده نمایید. ماکروها را به عنوان یکی دیگر از ویژگی های اکسل که برای شما بسیار پیچیده و پیشرفته است درنظر بگیرید.
آموزش ماکرونویسی در اکسل به زبان ساده
در این قسمت به آموزش ماکرونویسی در اکسل به صورت گام به گام میپردازیم. برای این کار دو راه وجود دارد:
راه اول: ضبط ماکرو
شاید عبارت «ماکرونویسی» باعث شده باشد فکر کنید تنها از راه برنامهنویسی میتوان این کار را انجام داد. اما این تصور غلط است. اکسل امکان ضبط کردن عملیات و تبدیل آن به کد ماکرو را برای کاربران خود فراهم کرده است.
یعنی شما کارهای مورد نظر را پس از کلیک روی دکمه «ضبط ماکرو» انجام میدهید و پس از تمام شدن کار ضبط را متوقف میکنید.
حرکات شما (کلیکها و چیزهایی که تایپ میکنید) توسط اکسل ثبت شده و به کد ویژوال بیسیک تبدیل میشود. در آینده هر زمان از این ماکرو استفاده کنید، حرکات شما پس از کلیک روی دکمه ضبط ماکرو روی دادههای موجود پیاده خواهد شد. برای این کار تنها کافی است وارد زبانه Developer شده و روی Record Macro کلیک کنید. مثل شکل زیر:
اگر اکسل شما این زبانه را ندارد. کافی است از قسمت Options روی Customize Ribbon کلیک کرده و در ستون سمت راست، Developer را تیک بزنید. درست مثل شکل زیر:
راه دوم: ماکرونویسی با کد ویژوال بیسیک
همانطور که گفتیم نام دیگر ماکرو VBA است. چرا که کدهای ماکرو در زبان ویژوال بیسیک نوشته و ذخیره میشوند. در هنگام ضبط ماکرو هم خود اکسل این کار را انجام میدهد.
ماکرو و VBA
شما می توانید ماکروها را با دستورات اکسل یا از Excel VBA ضبط و اجرا کنید.
VBA مخفف Visual Basic for Applications است و یک زبان برنامه نویسی ساده است که از طریق ویرایشگر ویژوال بیسیک اکسل VBEدر دسترس است که از تب DEVELOPER در نوار موجود است. وقتی یک ماکرو ضبط می کنید، اکسل کد VBA تولید می کند. اگر فقط می خواهید یک ماکرو ضبط کنید و آن را اجرا کنید، نیازی به یادگیری Excel VBA نیست. با این حال، اگر می خواهید یک ماکرو را تغییر دهید، می توانید این کار را فقط با تغییر کد VBA در ویرایشگر VBA Excel انجام دهید.
اما ضبط ماکرو همیشه با تولید کدهای زائد همراه است. کدهایی که سرعت و در مواردی دقت اجرا را کاهش میدهند. برای جلوگیری از این موارد میتوان کد ماکروی مورد نظر را به صورت مستقیم در ویرایشگر ویژوال بیسیک نوشت.
کد نویسی ماکرو همچنین به شما اجازه میدهد فرآیندها را خیلی دقیقتر و با استفاده از منطق برنامهنویسی به کد تبدیل کنید تا سرعت انجام آنها حتی از حالت عادی هم بیشتر شود.
برای شروع کار باید دکمه Alt+F11 (یا در بعضی مدلهای لپتاپ ALT+Fn+F11) را فشار دهید. با انجام این کار یک پنجره ویژوال بیسیک پیش روی شما باز میشود.
در سمت چپ این پنجره ستونی تحت عنوان Project explorer قرار دارد که نام پروژه اکسل شما هم در آن دیده میشود. روی آن راست کلیک کرده و از منوی Insert، گزینه Module را انتخاب کنید. با انجام این کار یک پنجره Code در سمت راست ایجاد میشود که میتوانید کد مورد نظر را در آن بنویسید.
برای اجرای کدی که در این قسمت نوشتید کافی است دکمه F5 را فشار دهید. در این مرحله اگر F8 را فشار دهید، کد شما خط به خط اجرا شده و امکان عیبیابی برای شما فراهم میشود.
برای اجرای ماکرو در زمان کار با برگه اکسل دو راه دارید. اول اینکه از زبانه Developer به قسمت Macros بروید و دوم اینکه از میانبر Alt+Shift+F8 استفاده کنید.
توجه داشته باشید وقتی برای یک شیت در اکسل ماکرو مینویسید، اکسل به طور پیشفرض آن را برای ورود بعدی شما غیرفعال میکند.
یعنی وقتی شیت را بعد از ایجاد ماکرو باز کنید در بالای صفحه و زیر نوار ابزار با پیامی مواجه میشوید که از شما میپرسد آیا میخواهید ماکرو فعال شود؟ مشاهده این پیام بیانگر اشتباه شما نیست بلکه تنها یک روال امنیتی در اکسل است.
آموزش کار با ماکروها در اکسل
پس از بررسی آموزش ماکرونویسی در اکسل، نوبت به کار با ماکروها میرسد. کارهایی مثل انتقال، کپی، حذف، استخراج و… که در این قسمت آنها را بررسی میکنیم. با ما همراه باشید.
باز کردن و ویرایش ماکروهای موجود
برای این کار باید وارد ویرایشگر ماکرو ویژوال بیسیک شوید. برای این کار میتوانید از قسمت Developer گزینه Visual Basic را انتخاب کنید یا همانطور که قبلتر گفتیم، از میانبر ALT+F11 استفاده کنید.
در این پنجره از ستون سمت چپ نام پروژه را پیدا کرده و روی ماژول موجود در آن راست کلیک کنید. با انتخاب گزینه View Code در منوی ظاهر شده، کد ماکروی مورد نظر به نمایش درمیآید و شما میتوانید تغییرات مورد نظرتان را روی آن اعمال کنید.
گاهی اجرای یک ماکرو روی پروژه اکسل با خطا روبرو میشود و نمیدانیم خطا دقیقا مربوط به کدام بخش از کد ماکرو است.
برای حل این مشکل کافی است پس از باز کردن کد در ویرایشگر ویژوال بیسیک، F8 را بفشارید تا اجرای خط به خط کد به شما نمایش داده شود. در این حالت پیدا کردن مشکلات کد و ریشهیابی آنها سادهتر خواهد بود. هر زمان خواستید از حالت اشکالگیری (Debug) خارج شوید، از نوار ابزار، دکمه Reset را انتخاب کنید.
workbook ماکرو شخصی
یک ماکرو را می توان در همان workbook از جایی که آن را ضبط کردید ذخیره کرد. در این صورت، شما می توانید ماکرو را فقط از آن workbook اجرا کنید و از این رو باید آن را باز نگه دارید. اکسل یک راه جایگزین برای ذخیره همه ماکروهای خود در اختیار شما قرار می دهد. این workbook ماکرو شخصی است که می توانید ماکروهای خود را در آن ذخیره کنید، که به شما امکان می دهد آن ماکروها را از هر workbook اجرا کنید.
کپی کردن ماکرو در ورک بوک دیگر
این کار چندان سخت نیست. ابتدا هر دو پروژه اکسل را باز کنید و سپس به ویرایشگر ویژوال بیسیک بروید. با توجه به باز بودن هر دو پروژه، ماژولهای حاوی ماکرو برای هر دو در این ویرایشگر (ستون سمت چپ) قابل مشاهده است. شما میتوانید با انتخاب یک ماژول زیر نام پروژه و Drag & Drop آن برای پروژهای دیگر، تمام ماکروهای موجود در آن را کپی کنید.
گاهی یک پروژه چندین ماکرو دارد و فقط یک یا چند ماکروی آن برای کپی کردن مورد نیاز است. در چنین مواردی کافی است پس از ورود به ویرایشگر ویژوال بیسیک، روی پروژه مورد نظر کلیک کرده و بعد از راست کلیک روی ماژول آن، View Code را انتخاب کنید.
حالا میتوانید هر بخشی از ماکروها که مورد نظر شما است را به پروژه مقصد منتقل کنید. برای این کار کافی است بخشی از متن را انتخاب کرده و کپی کنید. در ادامه وارد ماژول پروژه مقصد شده و کد را د Paste کنید.
حذف ماکروها در اکسل
برای این کار هم دو راه وجود دارد. اولین و سادهترین راه، استفاده از میانبر ALT+F8 است. با استفاده از این میانبر تمام ماکروهای ایجاد شده در یک لیست به نمایش در میآیند و با انتخاب هر کدام از آنها میتوان عملیات حذف را انجام داد.
در این قسمت از زبانه Macros in میتوانید مشخص کنید همه ماکروهای موجود در پروژهها به نمایش دربیایند یا ماکروهای موجود در یک ورکبوک خاص.
راه دوم برای حذف ماکرو، استفاده از ویرایشگر VBA است. شما میتوانید با ورود به ویرایشگر، پیدا کردن نام پروژه مورد نظر در سمت راست و راست کلیک روی ماژول آن، گزینه Remove Module را انتخاب کرده و تمام ماکروهای موجود در آن ماژول را حذف کنید.
همچنین میتوانید برای حذف یک ماکروی خاص در یک ماژول، پس از راست کلیک کردن روی ماژول، View Code را انتخاب کرده و قسمت مورد نظر از کد را حذف کنید.
ذخیره ماکرو در اکسل
برای اینکه ماکرو در مراجعههای بعدی به ورکبوک قابل استفاده باشد، باید ورکبوک را به صورت Macro-Enabled ذخیره کنید. اگر این کار را انجام ندهید ماکروی شما از بین میرود و باید دوباره آن را بسازید. راه دیگری هم وجود دارد که در آن ماکرو به صورت مستقل ذخیره میشود و در هر پروژهای قابل استفاده است. برای این کار باید به ویرایشگر کد بروید و از ستون سمت چپ، زیر نام پروژه، روی ماژول حاوی ماکرو کلیک راست کرده و Export File را کلیک کنید.
برای استفاده از این ماکرو در پروژههای مختلف، پس از باز کردن پروژه مورد نظر دوباره به ویرایشگر کد بروید و این بار روی نام پروژه راست کلیک کرده و از منوی ظاهر شده، Import File را انتخاب کنید. در ادامه به فولدری که ماکرو را در آن ذخیره کردهاید رفته و فایل bas را انتخاب کنید.
امنیت ماکرو
ماکروها به عنوان کد VBA در اکسل ذخیره می شوند. مانند هر کد دیگری، کد ماکرو نیز در معرض کدهای مخربی است که می تواند هنگام باز کردن یک workbook اجرا شود. این یک تهدید برای کامپیوتر شما است. مایکروسافت امکانات Macro Security را ارائه کرده است که به شما در محافظت از رایانه خود در برابر چنین ویروس های ماکرو کمک می کند.
تامین امنیت ماکروها در اکسل
گاهی ماکرو حاوی یک فرمول یا اطلاعات محرمانه یک شرکت یا سازمان است و باید با رمز محافظت شود. اکسل برای این موارد پیشبینی لازم را انجام داده است.
برای این کار تنها کافی است وارد ویرایشگر کد شده و روی نام پروژه مورد نظر (مثلا Book2) راست کلیک کنید. در منویی که پیش روی شما ظاهر میشود، VBAProject Properties را انتخاب کرده و در پنجرهای که باز میشود به زبانه Protection بروید.
در این زبانه با تیک زدن Lock Project for Viewing، قسمت رمز برای شما فعال میشود و پس از وارد کردن رمز مورد نظر و کلیک روی OK، پروژه شما قفل خواهد شد و برای هر بار استفاده نیاز به ورود این رمز خواهد داشت.
References and Relative References – مراجع مطلق و مراجع نسبی
هنگام ضبط یک ماکرو، میتوانید از ارجاعات مطلق یا مراجع نسبی برای سلولهایی که روی آنها کلیک میکنید استفاده کنید. ارجاع مطلق باعث می شود که ماکرو شما در همان سلول هایی اجرا شود که ماکرو را ثبت کرده اید. از سوی دیگر، ارجاعات نسبی باعث می شوند که ماکرو شما در سلول فعال اجرا شود.
کد ماکرو در VBA
حتی اگر Excel VBA را نمی دانید، می توانید ماکروها را از اکسل ضبط و اجرا کنید. با این حال، اگر باید یک ماکرو ضبط شده را تغییر دهید یا با نوشتن کد VBA یک ماکرو ایجاد کنید، باید Excel VBA را یاد بگیرید.
با این حال، باید بدانید که چگونه کد ماکرو را مشاهده کنید. میتوانید نحوه دسترسی به ویرایشگر VBA در اکسل و قسمتهای مختلف ویرایشگر VBA را در فصل Excel VBA بیاموزید. شما می توانید نحوه مشاهده کد ماکرو در ویرایشگر VBA اکسل را بیاموزید.
اختصاص ماکروها به اشیا
شما می توانید یک ماکرو را به یک شی مانند یک شکل یا یک گرافیک یا یک کنترل اختصاص دهید. سپس، می توانید ماکرو را با کلیک بر روی آن شی اجرا کنید.
اجرای ماکروها
اکسل چندین راه برای اجرای ماکرو ارائه میدهد. شما می توانید روشی را که می خواهید ماکرو اجرا کنید انتخاب کنید. شما در مورد این روش های مختلف ممکن برای اجرای یک ماکرو باید آموزش ماکرو نویسی را به صورت دقیق آموزش ببینید.
ایجاد یک ماکرو با استفاده از ویرایشگر VBA
اگر تصمیم به نوشتن کد ماکرو دارید، می توانید آن را در ماکرو با استفاده از ویرایشگر VBA یاد بگیرید. با این حال، پیش نیاز این است که شما باید دانش Excel VBA را داشته باشید.
ویرایش یک ماکرو
می توانید کد ماکرو را در ویرایشگر VBA اکسل تغییر دهید. اگر میخواهید تغییرات گسترده ای ایجاد کنید، باید دانش Excel VBA را داشته باشید. اما، اگر میخواهید فقط تغییرات جزئی در کد ایجاد کنید یا اگر می خواهید کد VBA را از یک ماکرو ضبط شده به ماکرو دیگری کپی کنید، میتوانید نام یک ماکرو را تغییر دهید و حتی آن را حذف کنید.
فرم های کاربر
یک فرم معمولاً برای جمع آوری اطلاعات مورد نیاز استفاده میشود. این خود توضیحی خواهد بود و کار را ساده میکند. فرمهای کاربری اکسل ایجاد شده از ویرایشگر VBA اکسل نیز به همین منظور عمل میکنند و گزینههای آشنا مانند text boxes, check boxes, radio buttons, list boxes, combo boxes, scroll bars و غیره را به عنوان کنترل ارائه میکنند.
اشکال زدایی کد ماکرو
گاهی اوقات، یک ماکرو ممکن است آنطور که انتظار میرود اجرا نشود. ممکن است ماکرو را ایجاد کرده باشید یا ممکن است از ماکرویی استفاده کنید که توسط شخصی به شما ارائه شده است. شما میتوانید کد ماکرو را درست مانند هر کد دیگری اشکال زدایی کنید تا عیوب را کشف کرده و آنها را اصلاح کنید.
نتیجه گیری
با ماکرونویسی در اکسل، کارها سادهتر شده و زمان ارزشمند کارکنان روی انجام کارهای تکراری هدر نخواهد رفت. در عوض کارکنان زمان دارند روی نوآوری و پرورش ایدههای جدید کار کنند.
در این مقاله سعی کردیم با آموزش ماکرونویسی در اکسل ، مشکل رایج بین کاربران این نرمافزار را حل کنیم. امیدواریم این مقاله پاسخ خوبی برای سوالات شما فراهم کرده باشد. نظرات خود را از بخش کامنت با ما در میان بگذارید.