۱۲ روش طلایی انتخاب محدوده ها توسط کد نویسی VBA در اکسل

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

حتما می دانید که هدف از برنامه نویسی VBA در نرم افزاری مثل اکسل این است که ما  از طریق محیط کد نویسی و با استفاده از کدهای VBA بتوانیم به بخش های مختلف نرم افزار اکسل دسترسی پیدا کنیم .

VBA به تمامی بخش های نرم افزار اکسل در حکم یک شی نگاه می کند.

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

خود این کلمه شی اشاره به یکی از مفاهیم بسیار مهم و کاربردی در برنامه نویسی دارد که ما قبلا راجع به آن آموزش مجزایی را در سایت قرار دایم . 

برای دسترسی به این مطلب می توانید از لینک زیر استفاده کنید .

مطلب مرتبط : آشنایی با مفهوم شی در برنامه نویسی VBA 

ما در کد نویسی VBA می خواهیم قابلیتی را ایجاد کنیم که تمامی کارهایی را که نیاز است تا بصورت دستی انجام دهیم بطور خودکار توسط خود برنامه انجام شود .

مثلا فرض کنید که یک لیست بلند بالا  شامل ۱۰۰۰ نفر از اسامی افراد را در اختیار ما قرار داده اند .

حالا می خواهیم کنترل کنیم که آیا در بین این اسامی نام های تکراری نیز وجود دارند یا خیر ؟

مطئنا ایده خوبی نیست که بخواهیم یک به یک این اسامی را خودمان کنترل کنیم تا اسامی تکراری را پیدا کنیم .

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

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

ما مشابه این کار را در این مطلب تحت عنوان یافتن داده های تکراری در اکسل توسط کدهای VBA انجام دادیم .

پس نقطه شروع برای مدیریت اشیای موجود در اکسل این است که بتوانیم به نحوی با این اشیا در محیط برنامه نویسی خود دسترسی پیدا کنیم .

امروز می خواهیم راجع به نحوه دسترسی سلول ها در اکسل با همدیگر صحبت کنیم .

اینکه از چه راه یا راههایی می توانیم به یک سلول یا مجموعه ای از سلول ها دسترسی پیدا کنیم تا در مراحل بعدی بتوانیم تغییرات مورد نظر خود را در انها اعمال کنیم .

پس با این آموزش هم همراه من باشید .

نحوه انتخاب محدوده ها توسط کد نویسی

اجازه بدهید کار را از ساده ترین اشیا و با استفاده از ساده ترین مثال ها با هم شروع کنیم .

دسترسی به یک سلول از طریق کد نویسی

فرض کنید که یک فایل اکسل داریم .

می خواهیم هر گاه که این فایل اکسل ما باز می شود در سلول A2  از شیت کاری که در حال حاضر فعال است عبارت Softpluse  را بصورت خودکار درج کنیم .

خوب برای این کار باید دو مرحله را پشت سر بگذاریم .

 در قدم اول باید آدرس سلول مورد نظر را برای برنامه تعیین کنیم .

در قدم دوم  هم که می توانیم عبارت مور نظر خود را در سلول مربوطه درج کنیم .

بنابراین مهم است که با نحوه آدرس دهی اشیا در محیط برنامه نویسی VBA کاملا آشنا شویم .

در اینجا می خواهیم با نحوه کار با محدوده ها در اکسل توسط زبان برنامه نویسی VBA بطور کامل آشنا شویم.

نحوه انتخاب یک سلول

برای انتخاب یک سلول از دو طریق می توانیم اقدام کنیم .

در روش اول می توانیم از کدی مانند کد زیر استفاده کنیم .

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

متد Cells  دارای دو آرگومان است در آرگومان اول شماره ردیف و در آرگومان دوم شماره ستون مربوط به سلول مورد نظر را وارد می کنیم .

در روش سوم هم می توانیم نام سلول مورد نظر را بصورت مستقیم وارد کنیم

 در تمامی موارد بالا با اجرای هر کدام از کدهای  مورد نظر  سلول A2  برای ما به حالت انتخاب در می آید .

و خروجی هر سه کد بالا یکسان خواهد بود .

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

اما در ادامه می خواهیم نحوه انتخاب یک محدوده از سلول ها را با هم مورد بررسی قرار دهیم .

انتخاب یک محدوده از سلول ها در اکسل

شما می توانید با استفاده از شی Range  و دستور Select  نسبت به انتخاب یکمحدوده از سلو ل ها اقدام کنید .

به کدهای زیر توجه کنید

ما در اینجا سه سلول را به حالت انتخاب در آورده ایم .

توجه کنید که این سلول ها بصورت مجزا از هم قرار دارند و ما در اینجا همه آنها را با استفاده از علامت کاما از هم مجزا کرده ایم .

در حالتی دیگر می توانیم یک محدوده از سلول ها را انتخاب کنیم .

فرض کنید می خواهیم تمامی سلول های موجود بین محدوده سلول های A1  تا A10  را به حالت انتخاب در آوریم .

برای این منظور از کدهای زیر استفاده می کنیم.

حالا فرض کنید که می خواهیم دو یا چند محدوده از سلول ها را بطور مجزا انتخاب کنیم .

به کدهای زیر توجه کنید .

ما در اینجا دو محدوده از سلول ها را به حالت انتخاب در آورده ایم و برای جداسازی محدوده ها هم از علامت کاما استفاده می کنیم .

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

انتخاب یک سطر یا ستون خاص

اگر بخواهیم کل سلول های موجود در یک سطر را به حالت انتخاب در آوریم میتوانیم از کدی مانند کد زیر استفاده کنیم .

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

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

در اینجا نیز باید شماره ستون مورد نظر را برای برنامه مشخص کنیم .

انتخاب اولین سلول خالی در یک ستون .

به تصویر زیر نگاه کنید .

انتخاب محدوده ها توسط کد نویسی VBA

در اینجا در ستون A و در محدوده سلول های A1  تا A8 ما اطلاعاتی را وارد کرده ایم .

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

برای این کار از کد زیر استفاده می کنیم .

ما در اینجا از متد Range .End  استفاده می کنیم .

متد End  چهار آرگومان را می گیرد .

این آرگومانها شامل Down-Left-Right و  Up  هستند .

در واقع با استفاده از این آرگومان ها تعیین می کنیم که برنامه در کدام جهت از محدوده حاضر حرکت کرده و آخرین سلول مورد نظر در این محدوده را برای ما به حالت انتخاب در آورد.

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

در اینجا ما سلول A1  را به عنوان نقطه آغاز حرکت تعیین و از برنامه می خواهیم که به سمت راست حرکت نموده و آخرین سلول حاوی اطلاعات را برای ما به حالت انتخاب درآورد .

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

برای این کار باید اول برنامه را به سمت آخرین سلول حاوی اطلاعات هدایت کنیم که این کار را با استفاده از متد Range .End انجام داده و آخرین سلول حاوی اطلاعات را در یک سطر و یا ستون پیدا کردیم .

حالا باید کاری کنیم که برنامه به اندازه یک سلول به جلو حرکت کند .

این سلول در واقع در حکم اولین سلول خالی خواهد بود که ما می توانیم در آن اطلاعات خود را وارد کنیم .

برای این کار یعنی حرکت به تعداد مورد نظر از سلول ها باید از متد Offset  استفاده کنیم .

متد Offset  خود دارای دو ورودی است .

ورودی اول از نوع عدد است و تعیین می کند که برنامه ما به اندازه چند سلول در ردیف ها حرکت کند .

ورودی دوم نیز عدددی است که مشخص می کند که برنامه به اندازه چند سلول در ردیف ها حرکت کند .

بعنوان مثال ما در اینجا می خواهیم به اندازه یک سلول در ستون A از آخرین سلولی که حاوی اطلاعات است به جلو برویم .

برای این منظور از کدهای زیر بصورت همزمان استفاده می کنیم .

همانگونه که می بینید ما در خط اول از این کدها آخرین سلول حاوی اطلاعات را پیدا کرده و آن را به حالت انتخاب در می آوریم .

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

حالا می توانیم در این سلول مقدار مورد نظر خود را وارد کنیم .

انتخاب ناحیه کاری فعال

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

بعنوان مثال اگر بخواهیم کلیه محدوده کاری موجود در اطراف سول A2  را در تصویر زیر انتخاب کنیم می توانیم از کد زیر استفاده کنیم

ما در اینجا از متد Current region  استفاده می کنیم .

انتخاب محدوده ها توسط کد نویسی VBA

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

انتخاب یک محدوده نام گذاری شده

همیشه به عنوان یک نکته کاربردی از کاربر  خواسته می شود که محدوده هایی  را که با انها سرو کار دارد را نام گذاری کند تا از این طریق بتواند بهتر به انها دسترسی ذاشته باشد .

حالا فرض کنیم ما محدوده سلول های بین A1 تا C10  خود را انتخاب و آنها را به نام mydata نام گذاری کرده ایم .

حالا اگر بخواهیم از داخل محیط کد نویسی به این محدوده دسترسی پیدا کنیم کافی است فقط نام محدوده مورد نظر را بصورت زیر درج کنیم .

انتخاب یک محدوده کاری در شیت های دیگر

ممکن است نیاز پیدا کنید که از داخل یک شیت کاری که در حال حاضر باز بوده و مشغول فعالیت در آن هستید بخواهید به یک یا چند سلول از شیت دیگر دسترسی پیدا کنید .

فرض کنید که ما الان در شیت کاری ۱ هستیم .

حالا می خواهیم از طریق کد نویسی شیت کاری ۲ را باز کرده به محدوده سلول های موجود در محدوده A1  تا C10  دسترسی پیدا کرده و آنها را به حالت انتخاب درآوریم .

 ما در اینجا در خط اول ابتدا شیت ۲ را باز می کنیم .

در خط دوم هم محدوده مورد نظر را انتخاب می کنیم .

کار با محدوده های انتخاب شده

آنچه که تا به اینجا به آن پرداختیم نحوه انتخاب محدوده های مورد نظر از سلول ها بود .

در ادامه باید بتوانیم تغییرات مورد نظر را در این محدوده ها اعمال کنیم .

بعنوان مثال فرض کنید می خواهیم محدوده سلول های A1  تا  C10  را انتخاب نموده و تغییرات زیر  را در آنها اعمال کنیم

۱- فونت B Nazain را برای نوشته های این محدوده ها انتخاب کنیم.

۲- رنگ فونت نوشته ها را به رنگ آبی در آوریم .

۳- رنگ پس زمینه سلول ها در این محدوده را به رنگ زرد درآوریم .

۴- به فونت نوشته ها در این محدوده از سلول ها فرمت توپر یا همان Bold  را اعمال کنیم .

برای انجام مجموعه این کارها می توانیم از کدهای زیر استفاده کنیم .

این ها نمونه ای از کارهایی است که ما می توانیم با استفاده از برنامه نویسی VBA در محیط اکسل انجام داده و با استفاده از آنها به محدوده ها و سلول های کاری در اکسل دسترسی پیدا کرده و با استفاه از آنها به مدیریت اطلاعات در اکسل پرداخت .

در اینجا مبحث انتخاب محدوده ها توسط کد نویسی VBA را به اتمام می بریم .

البته مطمئنا اینها تمام مباحث و مطالبی نیست که در برگیرنده تمامی مواردی باشد که با استفاده از آنها می توانیم به انتخاب محدوده ها توسط کد نویسی VBA و کار با محدوده ها در اکسل بپردازیم .

در آینده باز هم مطالب بیشتری در این خصوص در سایت منتشر می کنیم .

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

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

 

انتخاب محدوده ها توسط کد نویسی VBA

دسته‌بندی نشده بازدید : 716 views 2 می, 2020 ۰