ویژوال بیسیک برای برنامه ها (VBA) زبان برنامه نویسی مایکروسافت آفیس است که به شما امکان می دهد ماکرو ایجاد کنید، یک جعبه پیام اضافه کنید، کد را در یک سند در پاسخ به یک ماشه اجرا کنید و موارد دیگر. با VBA، می توانید صفحات گسترده اکسل خود را افزایش دهید و فراتر از توابع اکسل صرف بروید.
ویژوال بیسیک برای برنامه ها (VBA) زبان برنامه نویسی مایکروسافت آفیس است که به شما امکان می دهد ماکرو ایجاد کنید، یک جعبه پیام اضافه کنید، کد را در یک سند در پاسخ به یک ماشه اجرا کنید و موارد دیگر. با VBA، می توانید صفحات گسترده اکسل خود را افزایش دهید و فراتر از توابع اکسل صرف بروید.
این مقاله به شما کمک می کند تا با یک پروژه ساده دست خود را در VBA امتحان کنید: دکمه ای که ارزش سلول انتخابی را از GBP به USD تبدیل می کند. از طریق این مقاله، نحوه تلاقی VBA و Excel را خواهید آموخت و با VBA شروع به کار خواهید کرد.
ویژوال بیسیک برای برنامه های کاربردی در اکسل چیست؟
Visual Basic for Application یا به اختصار VBA یک فرم یکپارچه از Visual Basic 6 در برنامه های مایکروسافت آفیس است. VBA در برنامه هایی از مجموعه آفیس مانند Word، PowerPoint و البته Excel در دسترس است.
VBA به شما امکان می دهد از طریق ویژگی های مشترک اکسل به چیزهایی دست پیدا کنید که معمولاً در دسترس نیستند. با VBA، می توانید رابط اکسل را دستکاری کنید، دکمه های کاربردی اضافه کنید و حتی توابع خود را تعریف کنید.
طبیعتا VBA از زبان برنامه نویسی ویژوال بیسیک استفاده می کند. از طریق این زبان و با کمی دانش کدنویسی، می توانید تجربه خود را به چیزی فراتر از مرزهای اکسل تبدیل کنید. این می تواند هر چیزی از ایجاد فرم های کاربری VBA گرفته تا بازسازی بازی های نمادین در اکسل باشد.
آموزش VBA در اکسل: ایجاد دکمه تبادل
هیچ راهی برای یادگیری VBA در اکسل بهتر از این نیست که خودتان آن را امتحان کنید. برای کمک به شما در این زمینه، در این مقاله، ما قصد داریم یک پروژه ساده VBA را انجام دهیم. هدف این پروژه ایجاد دکمه ای است که مقدار موجود در سلول انتخاب شده را از USD به GBP تبدیل می کند.
کد برای این پروژه دو مرحله دارد. اولین و اصلی ترین مرحله این است که با ضرب عدد USD در 1.22 که نرخ مبادله ای فرضی است، مقدار عدد را از USD به GBP تبدیل کنید. مرحله دوم، تغییر قالب سلول از USD به GBP است.
در پایان با کلیک بر روی دکمه، مقدار سلول انتخاب شده در نرخ تبدیل ضرب می شود و نماد دلار به نماد پوند تغییر می کند. اکنون که درک خوبی از آنچه ما به دنبال دستیابی به آن هستیم، دارید، بیایید شروع کنیم!
1. دسترسی به کنترل های توسعه دهنده در اکسل
قبل از اینکه بتوانیم وارد VBA شویم، ممکن است لازم باشد اکسل را باز کنیم و تنظیمات را برای نمایش تب Developer به عنوان بخشی از نوار تنظیم کنیم. ویژگی هایی که برای استفاده از VBA باید به آنها دسترسی داشته باشید در تب Developer قرار دارند.
- اکسل را باز کنید.
- به منوی File بروید.
- روی Options در پایین صفحه کلیک کنید. با این کار پنجره Excel Options باز می شود.
- در Excel Options، به تب Customize Ribbon بروید.
- در برگههای اصلی، برنامهنویس را علامت بزنید.
همچنین می توانید روی نوار اکسل کلیک راست کرده و Customize the Ribbon را انتخاب کنید. این شما را به تب Customize Ribbon در گزینه های اکسل می برد.
2. یک دکمه ایجاد کنید
برای ایجاد مبدل ارز خود، ابتدا باید عنصر دکمه را وارد کنیم. در مرحله بعدی، کد VBA خود را به آن دکمه متصل می کنیم.
- در صفحه گسترده اکسل خود، به تب Developer بروید.
- در قسمت Controls بر روی Insert کلیک کنید.
- دکمه فرمان ActiveX را انتخاب کنید. این اولین گزینه در ActiveX Controls است.
- یک دکمه روی صفحه گسترده خود بکشید.
این دکمه به طور پیش فرض دارای شرحی است که می گوید CommandButton1. این کمی بی مزه به نظر می رسد، بنابراین بیایید کمی شخصیت به دکمه خود اضافه کنیم.
- دکمه را انتخاب کنید.
- روی آن راست کلیک کرده و سپس Properties را انتخاب کنید. پنجره Properties ظاهر می شود.
- تغییر (نام) به چیزی به یاد ماندنی تر. مراقب باشید که این عنوان دکمه نیست. به این ترتیب دکمه در کد VBA شما نشان داده می شود. در این مثال، ما قصد داریم نام را به convertButton تغییر دهیم.
- عنوان را به چیزی که می خواهید روی دکمه نمایش داده شود تغییر دهید. ما از USD به GBP استفاده خواهیم کرد.
همچنین می توانید فونت را تغییر دهید و از طریق همان پنجره مقداری سبک به دکمه خود اضافه کنید. هنگامی که دکمه شما آماده شد، زمان آن است که برخی از قابلیت ها را به آن اضافه کنید.
3. مقداری کد اضافه کنید
کدنویسی با VBA در محیطی جدا از رابط استاندارد اکسل انجام می شود. برای دسترسی به آن، مطمئن شوید که Design Mode در تب Developer فعال است، سپس روی دکمه دوبار کلیک کنید. پنجره ای مانند تصویر زیر خواهید دید:
شروع و پایان کد ما در حال حاضر در جای خود قرار دارد – دو قطعه متن آبی رنگ تابع شما را نشان می دهد، در حالی که متن سیاه و سفید بیان می کند که شما باید کاری را که کاربر روی دکمه کلیک می کند انجام دهد. اگر نام دیگری را برای convertButton انتخاب کرده اید، باید عبارت مربوطه را در نسخه خود از این پنجره ببینید.
برای انجام فرآیند تبدیل ارز، از خطوط کد زیر بین این دو که قبلاً توسط اکسل ایجاد شده است استفاده می کنیم:
Dim R As Range
Dim W As Range
Set W = Selection
For Each R In W
R.Value = (R.Value * 1.22)
R.NumberFormat = "£ 0.00 "
Next
حالا بیایید کد را تجزیه کنیم. این قطعه کد ابتدا دو متغیر R و W را به عنوان محدوده اعلام می کند. شما می توانید این دو حرف را به هر چیزی که می خواهید تغییر دهید، به شرطی که در کل کد ثابت بمانید.
سپس، کد متغیر W را به عنوان Selection تنظیم می کند. این بدان معنی است که W اکنون سلول های انتخاب شده در صفحه گسترده است. دستور For Every اعلام می کند که کد زیر عبارت باید برای هر R در W اجرا شود، که به معنای برای هر سلول در محدوده انتخاب شده است.
سپس، تابع اصلی وارد میشود. مقدار سلول در 1.22 ضرب میشود (که نرخ مبادله از پوند به دلار آمریکا است)، و سپس قالب سلول برای نمایش GBP تغییر میکند. در نهایت، عبارت Next نشان می دهد که کد (ضرب و تغییر فرمت) باید برای سلول بعدی در محدوده که R بعدی در W است نیز اجرا شود.
در پنجره VBA چگونه به نظر می رسد:
اگر به دکمه خود نام دیگری داده اید، یا از نام هایی غیر از R و W در کد خود استفاده کرده اید، به یاد داشته باشید که این نام ها را به نام های موجود در کد خود تغییر دهید. در غیر این صورت، کد کار نخواهد کرد.
پس از تنظیم کد، ویرایشگر VBA را ببندید. شما نیازی به ذخیره چیزی ندارید، زیرا تغییرات شما قبلاً ذخیره شده است.
4. کار خود را آزمایش کنید
اکنون زمان آن رسیده است که ببینید آیا کد شما کار می کند یا خیر – اما قبل از انجام این کار باید یک قدم مهم بردارید. شما باید حالت طراحی را غیرفعال کنید تا تغییرات بیشتر در دکمه متوقف شود و آن را کاربردی کنید.
در مرحله بعد، یک سلول یا محدوده ای از سلول ها را انتخاب کنید و سپس روی دکمه خود کلیک کنید تا ببینید جادوی خود را نشان می دهد. امیدواریم شاهد افزایش ارزش حدود یک چهارم باشید، به این معنی که تبدیل به درستی انجام شده است.
مراحل بعدی با VBA در اکسل
اکنون که یک دکمه ایجاد کرده اید و از آن برای اجرای کد VBA در اکسل استفاده کرده اید، می توانید از همان روش اصلی برای انجام انواع پروژه های مختلف استفاده کنید. میتوانید دکمهای ایجاد کنید که محتویات یک سلول مشخص شده را در برابر سلول دیگری در جای دیگری در همان سند بررسی کند.
شروع به پروژه هایی مانند این شما را در معرض ویژگی های مختلف VBA قرار می دهد. مبدل ارز ما تقریباً به همان اندازه ساده است – اما این اولین گام به سمت چیزهای بزرگتر است. اگر تازه شروع کرده اید، پروژه هایی را انتخاب کنید که یادگیری شما را به یک هدف یا وظیفه اساسی که در مورد آن کنجکاو هستید مرتبط می کند. گام به گام با نحوه کار VBA بیشتر آشنا می شوید.