شروع به کار با VBA اکسل  >  ویرایشگر VBA

آشنایی با محیط ویرایشگر VBA اکسل

312
بدون دیدگاه

1-1: تب Developer

2-1: ویرایشگر VBA

3-1: ماکروها (Macros)

4-1: Object, Method And Parameter

5-1: نوار ابزار Developer

6-1: دکمه ها (Buttons)

7-1: Offset

8-1: Resize

1-2: متغیرها (Variables)

2-2: کار با متغیرها (Variables)

3-2: Option Explicit

4-2: جمع / تفریق

5-2: ضرب / تقسیم

6-2: انواع متغیرها

1-3: دستور IF

2-3: Else … ElseIf

3-3: شرط ها (Conditions)

4-3: عملگرهای منطقی

5-3: تمرین اول

6-3: تمرین دوم

7-3: Select Case

8-3: تمرین سوم

9-3: With … End With

1-4: رشته های متنی (Strings)

2-4: Change Case

3-4: Trim, Len, Space

4-4: Replace

5-4: ?In the String

6-4: Left and Right

7-4: تابع Mid

8-4: تمرین چهارم

1-5: For Loops

2-5: For Each

3-5: ویژگی Cells

4-5: Do Loops

1-6: آشنایی با آرایه ها (Arrays)

2-6: Arrays, Loops

3-6: آرایه چند بعدی (Multi Array)

4-6: Arrays and Split

1-7: Subroutines

2-7: ارسال مقادیر به Sub

3-7: آشنایی بیشتر با Message Box

4-7: توابع (Functions)

5-7: استفاده ار توابع اکسل در VBA

6-7: دستور Set

1-8: بازکردن فایل متنی (Text File)

2-8: اضافه کردن اطلاعات به فایل متنی

1-9: یوزر فرم ها (User Forms)

2-9: دکمه ها (Buttons)

3-9: اجرای یوزر فرم

4-9: اضافه کردن پنل جدید

5-9: سفارشی سازی نوار ابزار اکسل

1-10: نمایشگر تصاویر (Picture Viewer)

2-10: طراحی فرم

3-10: اضافه کردن دکمه ها

4-10: اضافه کردن Tab جدید

5-10: رویداد Initialize Form (مقداردهی اولیه)

6-10: درج اطلاعات تصویر در TextBox

7-10: دکمه رادیویی (Option Button)

8-10: بارگذاری تصاویر (ImageBox)

9-10: دکمه های بعدی / قبلی

10-10: اضافه کردن تصویر جدید

11-10: ذخیره تصویر جدید

12-10: کپی کردن تصویر

1-11: نمودار (Chart)

1-12: کنترل Treeviews

2-12: Parent/Child Nodes

3-12: راه اندازی اولیه (Initialize)

4-12: رویداد Node Click

محصولات محبوب

به چند روش می توان ویرایشگر VBA اکسل را اجرا کرد:

  1.  از تب Developer  و از پنل Code بر روی دکمه Visual Basic کلیک کنید.
  2. در همان تب Developer و از پنل Controls بر روی View Code کلیک کنید.
  3. استفاده از کلید های ترکیبی Alt + F11 (کلید Alt را نگه داشته و سپس کلید F11 را بزنید).
  4. روی نام یکی از شیت ها کلیک راست کرده و گزینه View Code را انتخاب نمایید.

از هرکدام از روش های گفته شده استفاده کنید پنجره ویرایشگر VBA اکسل (تصویر ذیل) نمایش داده می شود:

ویرایشگر VBA اکسل
ویرایشگر VBA اکسل

در نگاه اول ممکن است کمی دلهره آور به نظر بیاید. اما هرچه بیشتر با آن کار کنیم دوست داشتنی تر می شود. در قسمت بالا همانند اکثر برنامه های دیگر یکسری منوها و ابزارها در دسترس قرار دارد که به مرور با کارکردهای آن­ ها آشنا می شویم. ناحیه سفید رنگی در سمت چپ به نام Project – VBA Project وجود دارد که تمامی بخش ها و فایل­ های پروژه های شما (Objects) را نشان می دهد. به صورت پیش فرض برای هر پروژه دو Objects وجود دارد، یکی Sheet1 که در واقع بیانگر همان شیت اکسل است (در نسخه 2007 و 2010 اکسل به صورت پیش فرض سه شیت وجود دارد بنابراین در این نسخه ها سه شیت را می ­بینید) و دیگری ThisWorkbook که بیانگر فایل اکسل یا Workbook است که با آن کار می کنید.

Objects دیگری به نام Personal Macro Workbook نیز وجود دارد که در تصویر بالا نشان داده نشده است. این workbook بعد از ضبط اولین ماکرو نمایش داده می شود. از Personal Workbook  می توان برای ذخیره ماکروهایی بکار برد که به طور مکرر از آن ها استفاده می کنیم. بطوری که بعد از بستن فایل اکسل و باز کردن فایل جدید دیگر همچنان در دسترس قرار دارند. Objects های دیگری نیز هستند که تنها در Workbook که برای آن تعریف شده اند در دسترس هستند.

ناحیه بزرگ خاکستری رنگ سمت راست بخشی است که کدهایمان را در آن می نویسیم. علت خاکستری بودن آن این است که هنوز هیچ پنجره ای را برای کد نویسی باز نکرده ایم. بر روی یکی از Objects های سمت چب دوبار کلیک کنید تا پنجره کدنویسی مختص به آن باز شود. برای نمونه روی Sheet1 دوبار کلیک کنید.

محیط کدنویسی VBA اکسل
محیط کدنویسی VBA اکسل

کد تمام ماکروهای را که نیاز داریم در این پنجره سفید رنگ می نویسیم. چون پنجره کدنویسی مربوط به Sheet1 را باز کرده ایم، بنابراین تمام کدهایی که در آن می نویسیم تنها در شیتی به نام Sheet1 قابل اجرا هستند. به همین ترتیب اگر در پنجره Sheet2 کد بنویسیم تنها در شیتی به نام Sheet2 قابل اجرا  است.

بییاید در اینجا یک مثال کوتاه از نحوه کدنویسی VBA را داشته باشیم. کد های ذیل را در پنجره Sheet1 وارد نمایید:

Sheet1.ir

Sub HelloWord()
    MsgBox "Hello VBA World!"
End Sub

Sheet1.ir

پس از وارد کردن به این صورت خواهد بود:

نوشتن اولین کد در VBA اکسل
نوشتن اولین کد در VBA اکسل

عبارت Sub در ابتدای کد،کوتاه شده کلمه Subroutine به معنای زیربرنامه است. یک Subroutine تنها چند خط کد است که کار بخصوصی را انجام می دهد. در انتهای کدها نیز عبارت End Sub وجود دارد که نشان دهنده پایان کد نویسی Subroutine حاضر است. نیازی به نوشتن End Sub نیست چون خود VBA بعد از نوشتن اولین خط و زدن کلید Enter به طور خودکار End Sub را به آخر کد اضافه می کند.

برای هر Sub یک نام باید تعریف کرد و به انتهای آن یک جفت پرانتز () اضافه کرد. بین Sub و نام آن به اندازه یک فاصله (Space) فضا وجود دارد. ما کدنویسی را بین Sub  و End Sub انجام می دهیم. هر نامی را می توان برای Sub انتخاب کرد اما بهتر است عادت کنید نام هایی را انتخاب کنید که بیانگر عملکرد کدهایی که نوشته اید باشد. در همین مثال HelloWord نشان دهندی کاری است که کدها انجام می دهند یا اگر کدی نوشته اید که رنگ متن را تغییر میدهد نام آن را Change_Text_Color قرار دهید. خوبی این کار در این است که هر زمان بخواهید از این کد استفاده کنید با دیدن نام آن متوجه می شوید که برای چه کاری این کد را نوشته اید یا اگر قصد داشتید کد را در اختیار دیگران نیز قرار دهید، آنان تنها بادیدن نام کد متوجه منظور شما شده و نیازی به بررسی کد ها جهت تشخیص کارکرد آن ندارند. انتخاب نام مناسب در ابتدا کمی سخت است ولی به مرور برایتان ساده می شود.

در زمان انتخاب نام برای Sub موارد ذیل را باید رعایت کرد:

  • استفاده از Space مجاز نیست و درصورت نیاز باید از underscore ( _ ) استفاده کرد

Sub Hello World()       اشتباه 

Sub Hello_World()      درست

  • در ابتدای نام ها نمی توان از شماره استفاده کرد

Sub 2Hello_World()       اشتباه 

Sub Hello_World2()      درست

  • از هیچکدام از کارکترهای #, $, %, &, !, / نمی توان در نام استفاده کرد

حال بعد از اینکه کد را نوشتیم نوبت به اجرای آن است. برای اینکار از نوار ابزار بالا روی دکمه سبز رنگ کلیک کنید:

راه دیگر برای اجرای کد، استفاده از کلید F5 کیبورد و یا اینکه از منوی Run گزینه Run Sub/User Form را انتخاب کنید

اجرای کد از طریق منو - VBA اکسل
اجرای کد از طریق منوی Run

بعد از اجرای کد پیغام ذیل را می بینید:

در اینجا ما برای نمایش Message Box از دستور MsgBox استفاده کردیم و متنی را خواستیم نمایش دهیم را داخل دابل کوتیشن ” “ نوشتیم.

در بخش بعدی با نحوه ضبط ماکرو آشنا می شویم و خواهیم دید که اکسل چطور کدهای مرتبط با کاری که انجام می دهیم را به صورت خودکار برایمان می نویسد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

حداکثر حجم مجاز فایل : 5 مگابایت فرمت های مجاز : jpeg - jpg - png - pdf- xls - xlsx - xlsb - xlsm - txt - csv - zip - rar فایل ها را اینجا بکشید

keyboard_arrow_up