Union و Range در VBA

ماکرو نویسی در ویژوال بیسیک و استفاده از قابلیت های اکسل در کد نویسی ها ما را مجاب به استفاده از Cells و Range مینماید، در مقالات قبلی با نحوه به کار بردن آن ها برای اشاره به سلول های اکسل آشنا شدیم، در اینجا به کاربرد Union و Range در VBA برای اشاره به چندین سلول اکسل پرداخته میشود.

اشاره همزمان به چند محدوده از اکسل در کدهای ویژوال بیسیک

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

در بسیاری موارد شما نیاز دارید یکی از خواص (Property) تمام این محدوده ها را تغییر دهید، مثلاً در صورت حاصل شدن یک نتیجه ی مورد نظر برای آنالیز خود قصد دارید چند محدوده از فایل اکسل خود را که منجر به ایجاد آن نتیجه شده اند را با Bold کردن محتوای سلول های آنها مشخص کنید. برای اشاره همزمان به چند محدوده از اکسل در کدهای ویژوال بیسیک دو راه وجود دارد، اول استفاده از Range و دوم یکی کردن محدوده ها با استفاده از روش Union.

Union و Range در VBA

استفاده از Range برای اشاره به چندین محدوده به صورت همزمان

برای اشاره به چندین محدوده از اکسل در کدهای ویژوال بیسیک و به منظور تغییر خواص و مقادار آنها میتوان از Range استفاده نمود، کدهای زیر محدوده هایی از Sheet1 را انتخاب نموده و محتوای سلول های آن ها را پاک میکنند، تعداد محدوده ها و اندازه ی آنها بنا به نیاز کدنویس قابل تغییر هستند. در صورتی که محدوده های شما از Sheet های متفاوتی بودند نمیتوانید از این روش استفاده نمایید.

اکسل پرو

استفاده از Union برای یکپارچه کردن چند محدوده ی اکسل در VBA

با استفاده از روش Union میتوانید چندین محدوده از اکسل خود را یکپارچه نمایید و آنها را به عنوان یک محدوده تعریف کنید، در این صورت برای اشاره به آنها تنها نام اتحاد آنها را مورد استفاده قرار میدهید. کدهای زیر متغیر MultiRange را به صورت مجموعه ی محدوده های Range1 و Range2 تعریف کرده و فونت سلول های آن ها را Bold میکند.

برای یکپارچه کردن سطر ها و ستون ها هم میتوان از روس Union استفاده نمود، کد زیر فونت سلول های چند ریدف را همزمان Bold میکند.

اکسل پرو

اشتراک گذاری در شبکه های اجتماعی: share on facebook share on google plus share on linkedin

۲ نظر

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