هر کس می تونه به شما اکسل یاد بده. اما من ، آنچه را که می توانيد با آن انجام دهيد ...

اشتراک در خبرنامه

جهت عضویت در خبرنامه لطفا ایمیل خود را ثبت نمائید

Captcha

آمار بازدید

  • بازدید امروز : 6
  • بازدید دیروز : 30
  • بازدید کل : 80547

مبانی کد های VBA ماکروی ایجاد شده


مبانی کد های VBA ماکروی ایجاد شده

آموزش قبلی: بررسی کد های ماکروی ضبط شده

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

اگر مفهوم هر کدام از خطوط کد را درک نکردید نگران نباشید.

هدف این بند ، این است که ایده اولیه­ ای درباره نحوه عملکرد VBA و مهمتر از همه ، دستورالعمل­ هایی که اکسل برای تایپ This is the best Excel tutorial، تنظیم خودکار عرض ستون سلول فعال ، تغییر رنگ زمینه سلول فعال به قرمز و تغییر رنگ فونت سلول فعال به آبی ، اجرا می­ کند را به شما نشان دهد.

متوجه خواهید شد که (نه تنها در این مثال ، بلکه معمولا هنگام ضبط ماکرو) کد VBA ممکن است شامل برخی از اقداماتی باشد که شما انجام نداده­ اید جان والکنباخ ، در کتاب Excel 2013 Bible بیان می­ کند که این تنها نتیجه فرعی روشی است که اکسل برای ترجمه عملیات کد استفاده می­ کند.

به عبارت دیگر، در حال حاضر جای نگرانی در مورد خطوط کدی که شما ایجاد نکرده ­اید ، نیست.

پنجره­ کد ماکرویی که ایجاد کرده ­اید ، شامل خطوط کد زیر است:

  •  آیتم 1-() Sub Best_Excel_Tutorial

عبارت Sub اساس فرآیندSub است. این فرآیند یکی از دو نوع فرآیندی است که می­ توانید در اکسل ایجاد کنید. نوع دیگر ، فرآیند Function است.

خوب ... این خط کد چه عملی انجام می ­دهد؟

به سادگی به اکسل می­ گوید که در حال نوشتن یک فرآیندSub هستید.

فرآیند­های Sub بایستی همیشه با موارد زیر شروع شوند:

  • عبارت Sub
  • نام فرآیند ؛ در این مورد Best_Excel_Tutorial
  • پرانتز

علاوه بر این ، فرآیند­های Sub همیشه باید با دستور End Sub پایان یابد ، همان­طور که می ­توانید در آخرین خط­ کد نشان داده شده در تصویر زیر (با شماره 8 مشخص شده است) ببینید.

مبانی کد های VBA ماکروی ایجاد شده

  • آیتم 2- خطوط کد با فونت سبز رنگ که با () شروع شده­ اند.

این خطوط توضیحاتی است که فقط برای ارائه اطلاعاتی قرار داده شده است. این توضیحات دارای خصوصیات زیر است:

  • با یک آپستروف() شروع می­ شوند.
  • VBA ، اساسا خطوط­ کدی را که با آپستروف شروع می­ شود ، نادیده می­ گیرد. بنابراین اجرای یک ماکرو ، به این توضیحات وابسته نیست. اگر این خطوط کد را حذف کنید ، ماکرو همچنان به صورت صحیح اجرا می­ شود.
  • هدف اصلی توضیحات ، نمایش اطلاعات مربوط به ماکرو است و به درک آن کمک می­ کند. توضیحات ممکن است شامل مواردی مانند ، هدف ماکرو یا آخرین اصلاحات انجام شده در این ماکرو باشد.
  •  آیتم 3- ActiveCell.Select

همان­طور که اینجا توضیح داده شد ، این خط ­کد به اکسل می­ گوید که سلول فعال فعلی را انتخاب کند. اگر دقیق­تر بیان کنیم:

  • ActiveCell اشاره به سلول فعال فعلی در برگه فعال اکسل دارد.
  • Select یک شیء را در برگه فعال اکسل انتخاب می­ کند ، شیء در این خط­ کد ، سلول فعال فعلی است که ActiveCell به آن ارجاع می ­دهد.
  •  آیتم 4- "ActiveCell.FormulaR1C1 = This is the best Excel tutorial

این خط به اکسل فرمان می­ دهد که متن This is the best Excel tutorial در سلول­ فعال وارد شود.

اجازه دهید هر یک از قسمت­ های مختلف این دستور را بررسی کنیم:

  • در آیتم قبلی یاد گرفتید که هدف ActiveCell چیست.
  • FormulaR1C1 به اکسل می­ گوید فرمول شیء را تعیین­ کند ، در این مورد شیء ، سلول فعال است که ActiveCell به آن اشاره دارد.

بخش آخر R1C1 ، اشاره به الگوی آدرس ­دهی R1C1 است .

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

  • " This is the best Excel tutorial"  فرمولی را که باید در شئ سلول فعال قرار گیرد بیان می کند (در این ماکرو فرمول یک متن است).
  •  آیتم 5- Selection.Columns.AutoFit

همان­طور که اینجا بیان شد ، این دستور باعث می­ شود که اکسل ستون سلول­ فعال را متناسب با متنی که ماکرو درج کرده است ، به صورت خودکار تنظیم ­کند.

بخش­ های مختلف این دستور به شرح زیر است:

  • Selection: نشان دهنده انتخاب فعلی (در این مورد سلول فعال) است.
  • Columns: ستون­های شیء Selection را انتخاب می­ کند ، که در این مورد ستون­ سلول فعال است.
  • AutoFit: عرض ستون انتخاب شده (در این مثال) و یا ارتفاع سطرهای انتخاب شده را به بهترین شکل ممکن ، متناسب با طول متن وارد شده تنظیم می­ کند.
  •  آیتم 6- دستور With…End With اول

ماکروی شما در حال حاضر دو مورد از چهار مورد درخواستی را اجرا کرده است:

  • متن This is the best Excel tutorial را در سلول فعال درج کرده است.
  • عرض ستون سلول فعال را متناسب با طول متن وارد شده تنظیم کرده است.

همان­طور که انتظار دارید ، اقدام بعدی که اکسل انجام خواهد داد ، تغییر رنگ زمینه سلول فعال به رنگ قرمز است.

شاید انتظار داشته باشید که تغییر رنگ زمینه سلول فعال یک گام ساده باشد. ولی به نظر می ­رسد که اکسل نیاز به انجام چند مرحله برای این اقدام دارد.

هدف اصلی دستور With…End With ، ساده ­سازی ترکیب اجرای چند دستورالعمل است که همه آنها به یک شیء واحد اشاره می ­کنند بدون اینکه هر بار به آن شیء ارجاع شود.

در مورد این مثال این شیء سلول فعال است. همانطور که در تصویر زیر مشاهده می­ کنید ماکروی ضبط شده حاوی دو دستور With…End With می ­باشد.

دستور With…End With

ترکیب دستور With…End With به شرح زیر است:

 ابزار بیان شیء With
[دستورالعمل­ها]
End With

  • در ابتدا ، ترکیب با عبارت With و به ­دنبال آن ابزار­ بیان شیء شروع می­ شود.

 در مثال حاضر ابزار بیان شیء ، برای دستور With…End With اول Selection.Interior و برای دستور With…End With دوم ، که در ادامه توضیح داده می­ شود ، Selection.Font می­ باشد.

  • این دستور می­ تواند یک یا چند خط کد داشته باشد ، که دستورالعمل­ هایی هستند که بر روی شیء مورد نظر انجام می ­شود.
  • پایان دستور ، با عبارت End With مشخص می­ شود.

در مورد اولین دستور With…End With ، هر یک از این موارد به شرح زیر است:

دستور With…End With

حال که یک درک اولیه از آنچه که دستور With…End With انجام می ­دهد دارید ، اجازه دهید نگاهی به خطوط کد این دستور داشته باشیم:

1. With Selection.Interior

این خط به اکسل می­ گوید که هنگام اجرای دستورالعمل­ ها که بخشی از دستور With…End With هستند باید همیشه به داخل سلول فعال ارجاع شود.

نحوه انجام کار چگونه است؟

  • With شروع دستور With…End With است و اکسل را مطلع می ­کند که دستورالعمل های بعدی روی شییء که در این خط ذکر شده است اجرا خواهد شد.
  • Selection.Interior ابزار بیان شیء است که در بند ساختار دستور With…End With توضیح داده شده است.

Selection نشان دهنده انتخاب فعلی است که در این مثال سلول فعال است. Interior به درون یک شی اشاره می ­کند ، که در این مورد داخل سلول فعال است.

2. Pattern = xlSolid

این کد اولین خط از دستور With…End With است که اشاره به داخل سلول فعال دارد و به اکسل می ­گوید رنگ الگوی درونی سلول فعال یک رنگ یکپارچه است. این کار به شرح زیر انجام می­ شود:

  • Pattern الگوی داخلی را تنظیم می­ کند.
  • xlSolid مشخص می­ کند که الگو باید یک رنگ یکپارچه باشد.

3. PatternColorIndex = xlAutomatic

این خط­ کد نحوه تنظیم را به شرح زیر ، برای درون سلول فعال مشخص می­ کند:

  • PatternColorIndex رنگ داخلی را تنظیم می ­کند.
  • xlAutomatic مشخص می­ کند که باید خودکار رنگ شود.

4. Color = 255

این خط دستوری است که در واقع به اکسل اعلام می­ کند چه رنگی باید برای پر­کردن داخل سلول فعال استفاده کند.

Color رنگ سلول را با توجه به شماره ­ای (که در این مورد 255 است) مشخص می­ کند ، که در ماژول Best_Excel_Tutorial قرمز است.

5.  TintAndShade = 0

این خط کد ، تنظیم طیف رنگی را که برای پر کردن سلول فعال انتخاب شده است به اکسل دستور می­ دهد.

TintAndShade وضوح یا تیرگی یک رنگ را تنظیم می­ کند. هنگامی که TintAndShade برابر با 0 تعیین شود ، (همانطور که در این مورد است) این ویژگی رنگ تغییری نمی­ کند.

6.  PatternTintAndShade = 0

همان­طور که ممکن است تصور کنید ، این خط به اکسل انتقال می­ دهد که الگو باید بدون طرح سایه ، داخل سلول فعال قرار­گیرد.

PatternTintAndShade الگوی رنگ و سایه را برای داخل یک شیء ، در این مورد سلول فعال ، تنظیم می­ کند.

7. End With

این خط به اکسل اعلام می­ کند که پایان دستور With…End With است.

بنابراین ، خطوط بعدی به یک شیء متفاوت از آنچه که در دستور With…End With به آن اشاره می­ شد ارجاع می ­شود.

در مورد مثال مورد استفاده در این بخش ، پایان دستور With…End With اول نشان می­ دهد که دستورات بعدی به الگوی زمینه سلول فعال اشاره نمی­ کند.

  •  آیتم 7- دستور With…End With دوم

در آیتم قبل دستور With…End With را یاد گرفتید و با ساختار کلی آن آشنا شدید.

بنابراین ، مستقیما به توضیح خط به خط دستور With…End With دوم پرداخته شده است.

همانطور که احتمالا انتظار دارید ، آخرین دستورالعمل­ هایی را که هنگام ایجاد ماکرو انجام دادید ، باید انجام ­شود: تغییر رنگ فونت سلول فعال به رنگ آبی.

1. With Selection.Font

همانطور که بیان شد ، این خط شروع دستور With…End With است و به اکسل می­ گوید که دستورات زیر با شیئ که در اینجا ظاهر می­ شود ، کار می­ کنند. در این مورد ، این شیء Selection.Font است.

Selection ، در ماکروی Best_Excel_Tutorial ، سلول فعال است.

به عبارت دیگر ، Selection.Font به معنای فونت متن در سلول فعال است. بنابراین ، Selection.Font اساسا اکسل را مطلع می­ کند که تمام خطوط کد که بخشی از دستور With…End With هستند ، اشاره به فونت سلول فعال دارد.

2. Color = -4165632

این خط از کد ، مشابه چهارمین خط کد دستور With…End With اول است و به اکسل می­ گوید چه رنگی باید برای فونت سلول فعال استفاده شود.

Color رنگ را تعیین می­ کند ، عدد (در این مورد -4165632) کد رنگی است که به رنگ آبی اشاره دارد.

3.  TintAndShade = 0

این خط دقیقا مشابه یکی از خطوط دستور With…End With اول است. از آنجا که TintAndShade وضوح یک رنگ را تعیین می­ کند ، هنگامی که TintAndShade برابر با  0 (همان­طور که در این مورد است) تعیین شود ، این ویژگی فونت سلول فعال تغییری نمی­ کند.

4. End With

این خط پایان دستور With…End With است. بنابراین ، خطوط کد بعدی به فونت سلول فعال ارجاع نمی­ دهد.

  •  آیتم 8- End Sub

دستور End خاتمه دادن به اجرای چیزی است ، و در این مورد ، پایان فرآیند Sub است. این بدان معنی است هنگامی که اکسل این خط­ کد را اجرا می­ کند ، ماکرو متوقف خواهد­ شد. به عبارت­ دیگر ، این پایان کد نخستین ماکرویی است که ایجاد کردید.

چند نکته در خصوص نحوه یادگیری برنامه ­نویسی در اکسل

  • قسمت­هایی از کد VBA را تغییر دهید تا چیزهای جدیدی تجربه کنید.

در خط کد "ActiveCell.FormulaR1C1 = "This is the best Excel tutorial از متن This is the best Excel tutorial استفاده شده است ، می­ توانید هر متن دیگری (مثلا نام خودتان) را نیز انتخاب کنید.

همچنین می­ توانید با تغییر اعداد ، رنگ­ های دیگری برای زمینه و فونت سلول انتخاب کنید.

به صفحه اصلی اکسل برگردید و دوباره ماکرو را (با استفاده از میانبر صفحه کلید Ctrl+Shift+B که به آن اختصاص داده ­اید) اجرا و بررسی کنید چه اتفاقی می ­افتد.

  • برخی از دستورات را از کد حذف کنید تا ببینید که چگونه بر ماکرو تاثیر می­ گذارد.

به عنوان مثال ، اگر Selection.Columns.AutoFit را حذف کنید، چه اتفاقی رخ می­ دهد؟

آن­ را امتحان کنید.

به صفحه اصلی اکسل برگردید و دوباره ماکرو را با این تغییر اجرا کنید.

چه اتفاقی می­ افتد؟ آیا این تغییر چیزی بود که انتظار داشتید؟

  • یکی از بهترین روش­های یادگیری ماکروی اکسل این است که تمرینات موجود در این فصل را تکرار کنید بنابراین توصیه می­کنیم که این کار را انجام دهید.

در مراحل بعدی:

  1. چیزهای جدیدی امتحان کنید و ماکرو­های متفاوتی را ضبط کنید.
  2. ویرایشگر ویژوال بیسیک را باز کنید و کد VBA را خط به خط بررسی کنید.

با بررسی کدهای نوشته شده توسط ضبط کننده ماکرو ، می­ توانید ایده ­هایی برای شروع ماکرونویسی بدست آورید. به عنوان مثال ، اگر از شما بخواهم یک ستون را با استفاده از کدنویسی فیلتر کنید و در ابتدا هیچ نظری نداشته باشید که به چه صورت است ، می­ توانید به سرعت یک ماکرو ضبط کنید بعد به سراغ ماکروی ایجاد شده رفته تا ببینید اکسل چه کدهایی ثبت کرده است. با بررسی و ویرایش این کد­ها می ­توانید ماکروی خود را بنویسید.

آموزش بعدی: کد های آماده VBA را کجا قرار دهیم

 *جهت دریافت کتاب های آموزش ماکرونویسی با اکسل روی تصویر کلیک کنید*

 کتاب آموزش ماکرو نویسی با اکسل

  انتشار : ۲ آذر ۱۳۹۸               تعداد بازدید : 1126

برچسب های مهم

دیدگاه های کاربران (0)

حقوق مادی و معنوی این سایت متعلق به exceldepo می باشد.

فید خبر خوان    نقشه سایت    تماس با ما