نمونه کد ویژوال بیسیک

در این مقاله میخواهیم چند کد نمونه برای انجام کارهای خاص در ویژوال بیسیک ارایه نماییم، تمرین کدهای زیر مختص کسانی هست که تمامی مقالات آموزشی سایت را مطالعه و تمرین کرده اند و نیاز به یادگیری و تمرین بیشتر دارند.

لازم به ذکر است، برخی دستورات و عبارات به کار رفته در کدهای تمرینی این مقاله هنوز در دوره ی ویژوال بیسیک سایت اکسل پرو مورد بررسی قرار نگرفته اند، لذا اگر معنای دستوری را نمیدانید و با مفهومی آشنا نیستید، نیاز به یادگیری بیشتر دارید و میتوانید بعداً به این مقاله مراجعه نمایید.

انتخاب چند شیت یا محدوده به صورت همزمان و محدوده چند بعدی

اگر شما بر روی یک محدوده ی مشخص از چند شیت کار میکنید، میتوانید از تابع Array برای اشاره همزمان به تمام شیت های مورد نظر استفاده نمایید. پس از نتخاب تمام شیت ها میتوانید محدوده ی دلخواه در این شیت ها را مورد اشاره قرار دهید.

به عنوان مثال در کدهای زیر میخواهیم خطوط حاشیه ی زیرین (Bottom Border Line) سلول های محدوده ی A1:H1 در شیت های اول، دوم و سوم را به صورت همزمان تغییر دهیم و به صورت دوخط (Double Line) تبدیل کنیم. و عبارت ExcelPro را در آنها بنویسیم.

محدوده سه بعدی

به محدوده ی انتخاب شده در کدهای بالا، به این دلیل که در هر سه شیت به صورت همزمان انتخاب شده است، یک محدوده ی سه بعدی (۳D Range) میگوییم. میتوانیم محدوده هایی با ابعاد بیشتر در کدهای ویژوال بیسیک تعریف نماییم.

تمرین ویژوال بیسیک

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

فرض کنید فایل اکسل (Workbook) شما دارای پنج شیت (Worksheet) میباشد، شما برخی خواص و یا مقادیر را در یک محدوده از شیت اول تغییر میدهید، حال میخواهید تغییر انجام شده در تمام شیت ها اعمال گردد.

با استفاده از روش (Method) FillAcrossSheets میتوانید فرمت، داده و یا هرچیزی متعلق به یک محدوده از هر شیت را به محدوده ی مشابه در تمام شیت های فایل اکسل فعال انتقال دهید.

در کدهای زیر ابتدا فرمت خط حاشیه ی زیرین (Bottom Border Line) سلول های محدوده ی A1:H1 که در شیت اول وجود دارند را به صورت دوخط (Double Line) در میاوریم و سپس فرمت این محدوده را به تمام محدوده های مشابه در تمام شیت های دیگر انتقال میدهیم.

تمرین ویژوال بیسیک

اجرای حلقه برای سلول های یک محدوده

در بسیاری از موارد شما برای رسیدن به خروجی مطلوب و انجام کارهای تکراری نیاز به نوشتن حلقه ها دارید (مثلاً میخواهید یک پارامتر را آنقدر تغییر بدهید تا خروجی به یک مقدار خاص برسد)، در ویژوال بیسیک برای ایجاد حلقه می توانید از حلقه های Do،  For و یا Case استفاده نمایید. در بسیاری از حلقه ها عملیات متفاوتی بر روی سلول های اکسل انجام میگیرد که در نهایت نیاز به تعریف متغیرهای سطر و ستون برای سلول ها دارید

همانطور که در مقالات قبلی یادگرفتیم، برای اشاره به سلول ها میتوانیم از پروپرتی سل (Cells Property) استفاده نماییم. بزرگترین مزیت Cells این است که اندیس نشان دهنده ی سطر و ستون هر دو میتوانند به صورت متغیر باشند.

در کد زیر، اگر قدر مطلق مقدار سلول ها A1 تا A89 کمتر از ۱۳ بود، مقدار آنها را برابر با  ExcelPro.ir قرار میدهیم. در این کدها متغیر Counter به جای شماره سطر در پروپرتی Cells قرار گرفته است.

کد زیر هم یک نمونه حلقه نوشته شده با استفاده از پروپرتی Cells است، در این کد مقدار سلول های C1 تا C20 توسط حلقه ی For و متغیر Counter به عنوان شماره سطر سلول برابر با ExcelPro قرار داده شده است.

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

تمرین ویژوال بیسیک

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

در صورتی که محتوای هریک از سلول های محدوده ها در کد های فوق هر چیزی غیر از عدد باشد، به علت استفاده از تابع ABS در کدها که مخصوص متغیرهای عددی است، برنامه با خطا مواجه میشود.

تمرین ویژوال بیسیک

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

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