معرفی و کاربرد CurrentRegion property در ماکرونویسی اکسل
به نام خداوند بخشنده و مهربان در این پست آموزشی قصد داریم پیرامون کاربرد CurrentRegion در وی بی ای اکسل، اطلاعات مفیدی را خدمت شما عزیزان و دنبال کنندگان محترم سایت آموزشی اکسل لرن ارائه کنیم. با استفاده از CurrentRegion Property شما قادر به انتخاب سلول های هم جوار در صفحه گسترده اکسل خواهید بود. عبارت هم جوار به سلول هایی گفته می شود که بدون وجود سطر و ستون خالی در کنار یکدیگر قرار گرفته اند.
به تصویری که در ادامه آورده شده است دقت نمایید:
با انتخاب سلول A1 و زدن کلیدمیانبر CTRL + A، سلول های هم جوار همانند تصویر زیر درحالت انتخاب قرار خواهند گرفت:
حال اگر یک سطر جدید به محتوای کاربرگ اضافه کنیم:
با انتخاب مجدد سلول A1 و فشردن کلیدمیانبر CTRL + A، تنها سلول هایی درحالت انتخاب قرار خواهند گرفت که سطر و ستون خالی در فی مابین آنان وجود ندارد:
با فرض داده های موجود در تصویر زیر:
با اجرای ماکروی زیر:
1 2 3 |
Sub Macro() Range("A1").CurrentRegion.Select End Sub |
سلول های هم جوار بصورت زیر درحالت انتخاب قرار خواهند گرفت:
نکته ای که در این بخش حائز اهمیت می باشد این است که Select Method از آدرس دهی پیروی نمی کند.
به عنوان مثال با اجرای ماکروی زیر:
1 2 3 |
Sub Macro() Sheet2.Range("A1").CurrentRegion.Select End Sub |
با خطای Run-time error ‘1004’ همانند تصویر زیر روبرو خواهید شد:
حال اگر قبل از انجام عملیات انتخاب (Select)، کاربرگ مذکور توسط Worksheet.Activate method فعال گردد دیگر با خطای فوق روبرو نخواهید بود.
ماکروی اصلاح شده فوق بصورت زیر می باشد:
1 2 3 4 |
Sub Macro() Sheet2.Activate Range("A1").CurrentRegion.Select End Sub |
به مثالی که در ادامه پیرامون ترکیب CurrentRegion property با Offset Property آورده شده است دقت نمایید:
با توجه به جدول فوق قصد داریم با استفاده از CurrentRegion property محدوده هم جوار بدون سرتیتر را درحال انتخاب قرار دهیم. بدین منظور به ماکرویی همانند ماکرویی که در ادامه آورده شده است نیاز داریم:
1 2 3 |
Sub Macro() Range("A1").CurrentRegion.Offset(1, 0).Select End Sub |
در ماکروی فوق، یک سطر پایین تر از سلول های هم جوار سلول A1، درحالت انتخاب قرار خواهند گرفت.
البته ماکروی فوق بصورت زیر نیز صحیح می باشد:
1 2 3 4 5 |
Sub Macro() Dim Rng As Range Set Rng = Range("A1").CurrentRegion Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1, Rng.Columns.Count).Select End Sub |
در پایان امیدواریم پست آموزشی کاربرد CurrentRegion در وی بی ای اکسل مورد رضایت و استفاده شما عزیزان قرار گرفته باشد لذا در صورت وجود هرگونه انتقاد و پیشنهاد می توانید آن را در قسمت نظرات برای ما ارسال نمایید.