فهرست مطالب
در این آموزش، روشهای مختلفی برای اجرای یک ماکرو در اکسل - از روبان و ویرایشگر VB، با یک میانبر صفحهکلید سفارشی، و با ایجاد دکمه ماکرو خود را پوشش میدهیم.
اگرچه اجرای ماکرو اکسل برای کاربران باتجربه کار ساده ای است، اما ممکن است برای مبتدیان فوراً واضح نباشد. در این مقاله چندین روش برای اجرای ماکروها یاد می گیرید که برخی از آنها ممکن است نحوه تعامل شما با کتاب های اکسل را کاملاً تغییر دهند.
نحوه اجرای ماکرو از نوار Excel
یکی از سریعترین راهها برای اجرای VBA در اکسل، اجرای یک ماکرو از تب Developer است. اگر قبلاً با کد VBA سروکار نداشته اید، ممکن است لازم باشد ابتدا تب Developer را فعال کنید. و سپس موارد زیر را انجام دهید:
- در برگه Developer ، در گروه Code ، روی Macros کلیک کنید. یا میانبر Alt + F8 را فشار دهید.
- در کادر محاوره ای که نشان داده می شود، ماکرو مورد علاقه را انتخاب کنید و سپس روی Run کلیک کنید.
نکته. اگر تب Developer به نوار اکسل شما اضافه نشده است، Alt + F8 را فشار دهید تا کادر گفتگوی Macro باز شود.
یک ماکرو را با میانبر صفحه کلید سفارشی اجرا کنید
اگر اجرا کنید یک ماکرو خاص به طور منظم، می توانید یک کلید میانبر به آن اختصاص دهید. هنگام ضبط یک ماکرو جدید و به یک ماکرو موجود، می توان یک میانبر اضافه کرد. برای این کار، این مراحل را انجام دهید:
- در برگه Developer ، در گروه Code ، کلیک کنید Macros .
- در کادر گفتگوی Macro ، روی Options کلیک کنید.
- کادر محاوره ای گزینه های ماکرو ظاهر می شود. در کادر کلید میانبر ، هر حرف بزرگ یا کوچکی را که می خواهید برای میانبر استفاده کنید تایپ کنید و سپس برای ذخیره تغییرات روی OK کلیک کنید.
- برای حروف کوچک، میانبر Ctrl + حرف است.
- برای حروف بزرگ، میانبر Ctrl + Shift + حرف است.
- کادر گفتگوی Macro را ببندید.
نکته. توصیه می شود همیشه از ترکیب کلیدهای بزرگ برای ماکروها (Ctrl + Shift + حرف) استفاده کنید تا میانبرهای پیش فرض اکسل را لغو نکنید. برای مثال، اگر Ctrl + f را به یک ماکرو اختصاص دهید، توانایی فراخوانی گفتگوی Find and Replace را از دست خواهید داد.
پس از اختصاص یافتن میانبر، به سادگی آن کلید ترکیبی را فشار دهید تا ماکرو خود را اجرا کنید.
نحوه اجرای ماکرو از ویرایشگر VBA
اگر قصد دارید یک حرفه ای اکسل شوید، قطعاً باید بدانید که چگونه یک ماکرو را نه تنها از اکسل، بلکه از آن نیز راه اندازی کنید. ویرایشگر ویژوال بیسیک خبر خوب این است که خیلی ساده تر از چیزی است که انتظار دارید :)
- برای راه اندازی ویرایشگر Visual Basic Alt + F11 را فشار دهید.
- در Project Explorer پنجره سمت چپ، روی ماژول حاوی ماکرو دوبار کلیک کنید تا باز شود.
- در پنجره Code در سمت راست، همه ماکروهای لیست شده در ماژول را مشاهده خواهید کرد. مکان نما را در هر نقطه از آن قرار دهیدماکرویی که می خواهید اجرا کنید و یکی از کارهای زیر را انجام دهید:
- در نوار منو، روی Run > Run Sub/UserForm کلیک کنید.
- در نوار ابزار، روی دکمه اجرای ماکرو (مثلث سبز رنگ) کلیک کنید.
همچنین، می توانید از یکی از میانبرهای زیر استفاده کنید:
- فشار دهید F5 برای اجرای کل کد.
- F8 را فشار دهید تا هر خط کد جداگانه اجرا شود. این در هنگام آزمایش و اشکال زدایی ماکروها بسیار مفید است.
نکته. اگر دوست دارید اکسل را از روی صفحه کلید خود کار کنید، این آموزش ممکن است مفید باشد: 30 میانبر صفحه کلید مفید اکسل.
نحوه ایجاد یک دکمه ماکرو در اکسل
روش های سنتی اجرای ماکروها عبارتند از سخت نیست، اما همچنان ممکن است مشکلی ایجاد کند اگر کتاب کار را با کسی که تجربه ای با VBA ندارد به اشتراک می گذارید - آنها به سادگی نمی دانند کجا باید نگاه کنند! برای اینکه اجرای یک ماکرو برای هر کسی واقعاً آسان و شهودی باشد، دکمه ماکرو خود را ایجاد کنید.
- در برگه Developer ، در گروه Controls ، کلیک کنید Insert ، و Button را در From Controls انتخاب کنید.
- در هر نقطه از کاربرگ کلیک کنید. با این کار کادر گفتگوی Assign Macro باز می شود.
- ماکرویی را که می خواهید به دکمه اختصاص دهید انتخاب کنید و روی OK کلیک کنید.
- یک دکمه در کاربرگ درج می شود. برای تغییر متن دکمه، روی دکمه راست کلیک کرده و Edit Text را از منوی زمینه انتخاب کنید.
- حذف کنیدمتن پیش فرض مانند دکمه 1 و متن خود را تایپ کنید. به صورت اختیاری، می توانید متن را به صورت پررنگ یا مورب قالب بندی کنید.
- اگر متن در دکمه جا نمیشود، با کشیدن دستههای اندازهگیری، کنترل دکمه را بزرگتر یا کوچکتر کنید. پس از اتمام، روی هر نقطه از صفحه کلیک کنید تا از حالت ویرایش خارج شوید.
و اکنون، می توانید ماکرو را با کلیک کردن روی دکمه آن اجرا کنید. ماکرویی که ما اختصاص دادهایم، سلولهای انتخابی را مانند تصویر زیر قالببندی میکند:
نکته. همچنین میتوانید یک ماکرو را به یک دکمه موجود یا سایر کنترلهای فرم مانند دکمههای چرخش یا نوارهای پیمایش اختصاص دهید. برای این کار، روی کنترل درج شده در کاربرگ خود کلیک راست کنید و Assign Macro را از منوی باز شده انتخاب کنید.
یک دکمه ماکرو از یک شیء گرافیکی ایجاد کنید
متأسفانه ، نمی توان ظاهر کنترل های دکمه را سفارشی کرد، به همین دلیل دکمه ای که چند لحظه پیش ایجاد کردیم خیلی زیبا به نظر نمی رسد. برای ایجاد یک دکمه ماکرو اکسل واقعاً زیبا، می توانید از اشکال، نمادها، تصاویر، WordArt و سایر اشیاء استفاده کنید.
به عنوان مثال، به شما نشان می دهم که چگونه می توانید یک ماکرو را با کلیک کردن بر روی یک شکل اجرا کنید:
- در برگه Insert ، در گروه Illustrations ، روی Shapes کلیک کنید و نوع شکل مورد نظر را انتخاب کنید، به عنوان مثال. مستطیل با گوشه های گرد:
- در کاربرگ خود، روی جایی که می خواهید شی شکل را وارد کنید کلیک کنید.
- دکمه شکل خود را به روشی که می خواهید قالب بندی کنید. به عنوان مثال، شما می توانیدرنگ های پر و طرح را تغییر دهید یا از یکی از سبک های از پیش تعریف شده در تب Shape Format استفاده کنید. برای افزودن مقداری متن به شکل، به سادگی روی آن دوبار کلیک کنید و شروع به تایپ کنید.
- برای پیوند دادن یک ماکرو به شکل، روی شی شکل کلیک راست کنید، Assign Macro…، را انتخاب کنید، سپس ماکرو مورد نظر را انتخاب کنید و روی OK کلیک کنید.
اکنون شکلی دارید که شبیه یک دکمه است و ماکرو اختصاص داده شده را هر زمان که روی آن کلیک کنید اجرا می کند:
چگونه یک دکمه ماکرو به نوار ابزار دسترسی سریع اضافه کنیم
دکمه ماکرو درج شده در یک کاربرگ خوب به نظر می رسد، اما افزودن یک دکمه به هر برگه زمان بر است. برای اینکه ماکرو مورد علاقه خود را از هر جایی در دسترس قرار دهید، آن را به نوار ابزار دسترسی سریع اضافه کنید. به این صورت است:
- روی نوار ابزار دسترسی سریع کلیک راست کرده و فرمانهای بیشتر... را از منوی زمینه انتخاب کنید.
- در Choose commands from لیست، Macros را انتخاب کنید.
- در لیست ماکروها، یکی را که می خواهید به دکمه اختصاص دهید انتخاب کنید و روی Add کلیک کنید. با این کار ماکرو انتخاب شده به لیست دکمه های نوار ابزار دسترسی سریع در سمت راست منتقل می شود.
در این مرحله، میتوانید روی تأیید کلیک کنید تا تغییرات را ذخیره کنید یا چند سفارشیسازی دیگر که در زیر توضیح داده شده است انجام دهید.
- اگر متوجه شدید که نماد اضافه شده توسط مایکروسافت برای ماکرو شما مناسب نیست، روی Modify کلیک کنید تا نماد پیش فرض با نماد دیگری جایگزین شود.
- در کادر محاوره ای دکمه اصلاح کهظاهر می شود، یک نماد برای دکمه ماکرو خود انتخاب کنید. به صورت اختیاری، میتوانید نام نمایش را نیز تغییر دهید تا کاربرپسندتر شود. برخلاف نام ماکرو، نام دکمه می تواند حاوی فاصله باشد.
- دوبار روی OK کلیک کنید تا هر دو پنجره گفتگو بسته شود.
انجام شد! اکنون دکمه اکسل خود را برای اجرای ماکرو دارید:
چگونه یک دکمه ماکرو روی نوار اکسل قرار دهیم
در صورتی که چند ماکرو پرکاربرد در جعبه ابزار اکسل خود داشته باشید، ممکن است آن را پیدا کنید. داشتن یک گروه روبان سفارشی راحت است، بگویید My Macros ، و همه ماکروهای محبوب را به عنوان دکمه به آن گروه اضافه کنید.
ابتدا، یک گروه سفارشی را به یک برگه موجود یا برگه خود اضافه کنید. برای دستورالعمل های دقیق، لطفاً ببینید:
- نحوه ایجاد یک برگه نوار سفارشی
- نحوه افزودن یک گروه سفارشی
و سپس، یک با انجام این مراحل، دکمه ماکرو را به گروه سفارشی خود وارد کنید:
- روی روبان کلیک راست کرده و سپس Customize the Ribbon را کلیک کنید.
- در کادر محاوره ای که ظاهر می شود، موارد زیر را انجام دهید:
- در برگه های لیست در سمت راست، گروه سفارشی خود را انتخاب کنید.
- در فهرست Choose commands from در سمت چپ، <10 را انتخاب کنید>ماکروها .
- در لیست ماکروها، یکی را که می خواهید به گروه اضافه کنید انتخاب کنید.
- دکمه افزودن را کلیک کنید.
برای این مثال، من یک برگه جدید به نام Macros و یک گروه سفارشی به نام Formatting Macros ایجاد کرده ام. در تصویر زیر، ما در حال اضافه کردن آن هستیمماکرو Format_Headers به آن گروه.
- ماکرو اکنون به گروه روبان سفارشی اضافه شده است. برای دادن نام مناسبتر به دکمه ماکرو، آن را انتخاب کنید و روی Rename کلیک کنید:
- در کادر محاورهای Rename ، هر نامی را که میخواهید تایپ کنید. کادر 1>نمایش نام (فضاها در نام دکمه ها مجاز است) و یک نماد برای دکمه ماکرو خود انتخاب کنید. پس از اتمام، روی OK کلیک کنید.
- روی OK کلیک کنید تا تغییرات خود را ذخیره کنید و کادر محاوره ای اصلی را ببندید.
به عنوان مثال، من سه دکمه ماکرو را در گوشی خود قرار داده ام. نوار اکسل و اکنون می توانید هر یک از آنها را با کلیک روی دکمه اجرا کنید:
نحوه اجرای ماکرو هنگام باز کردن کتاب کار
گاهی اوقات ممکن است بخواهید هنگام باز کردن یک کتاب کار، ماکرو را به طور خودکار اجرا کنید. به عنوان مثال، برای نمایش برخی از پیام ها، اسکریپت را اجرا کنید یا محدوده خاصی را پاک کنید. این کار به دو صورت انجام می شود.
اجرای خودکار ماکرو با استفاده از رویداد Workbook_Open
در زیر مراحل ایجاد یک ماکرو وجود دارد که هر زمان که یک کتاب کار خاص را باز می کنید به طور خودکار اجرا شود:
- کتاب کاری که می خواهید ماکرو در آن اجرا شود را باز کنید.
- برای باز کردن ویرایشگر ویژوال بیسیک Alt + F11 را فشار دهید.
- در Project Explorer، روی دابل کلیک کنید. ThisWorkbook برای باز کردن پنجره کد آن.
- در فهرست Object بالای پنجره Code، Workbook را انتخاب کنید. این یک رویه خالی برای رویداد Open ایجاد می کند که می توانید کد خود را مانند تصویر نشان داده شده به آن اضافه کنید.در زیر.
به عنوان مثال، کد زیر هر بار که کتاب کار باز می شود پیام خوش آمدگویی را نشان می دهد:
Private Sub Workbook_Open() MsgBox "به گزارش ماهانه خوش آمدید!" End Subراهاندازی ماکرو در باز شدن کتاب کار با رویداد Auto_Open
یکی دیگر از راههای اجرای خودکار ماکرو هنگام باز شدن کتاب کار، استفاده از رویداد Auto_Open است. برخلاف رویداد Workbook_Open، Auto_Open() باید در یک ماژول کد استاندارد قرار گیرد، نه در ThisWorkbook .
در اینجا مراحل ایجاد چنین ماکرو وجود دارد:
- در Project Explorer ، روی Modules کلیک راست کرده و سپس Insert > Module را کلیک کنید.
- در در پنجره Code ، کد زیر را بنویسید:
در اینجا یک مثال از کد واقعی است که یک جعبه پیام را در باز شدن کتاب کار نشان می دهد:
Sub Auto_Open () MsgBox "به گزارش ماهانه خوش آمدید!" پایان زیرتوجه! رویداد Auto_Open منسوخ شده و برای سازگاری به عقب در دسترس است. در بیشتر موارد، می توان آن را با رویداد Workbook_Open جایگزین کرد. برای اطلاعات بیشتر، لطفاً Workbook_Open در مقابل Auto_Open را ببینید.
از هر رویدادی که استفاده می کنید، هر بار که فایل اکسل حاوی کد را باز می کنید، ماکرو شما به طور خودکار اجرا می شود. در مورد ما، کادر پیام زیر نمایش داده میشود:
اکنون که روشهای زیادی برای اجرای یک ماکرو در اکسل میدانید، فقط باید بهترین را برای نیازهای خود انتخاب کنید. من از شما برای خواندن و امیدوارمتا هفته آینده شما را در وبلاگ خود ببینیم!