خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش برنامه نویسی اکسل : Select Case

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

سیستم یکپارچۀ سازمانی راهکار



قصد داریم تا در اینجا شما را با بیانیه Select Case آشنا کنیم. استفاده از ساختار Select Case آسان می باشد، و پیگیری کدها در این ساختار ساده تر از ساختار if می باشد. مشابه کلمات کلیدی If و ElseIf شما از کلمه کلیدی Case در یک ساختار Select Case استفاده می کنید تا وضعیت یک شرط خاص را ارزیابی کنید. شما به هر تعداد بیانیه Case که نیاز باشد، می توانید داشته باشید، و فقط اولین کدی که در ارزیابی ها به True برسد، اجرا خواهد شد.

بهترین روش برای درک Select Case اینست که آن را در عمل همراه با مثال هایی ببینید. ماکرویی که در زیر می بینید در واقع همان مثالی است که در آموزشهای If ارائه دادیم. با این تفاوت که در اینجا به جای ساختار If…Then…ElseIf از ساختار Select Case استفاده شده است:

Sub WeekdayTestSelectCase()
Select Case Weekday(VBA.Date)
Case 2 ‘Monday
MsgBox “Ugghhh - - Back to work.”, , “Today is Monday”
Case 3 ‘Tuesday
MsgBox “At least it’s not Monday anymore!”, , “Today is Tuesday”
Case 4 ‘Wednesday
MsgBox “Hey, we’re halfway through the work week!”, , “Today is Wednesday”
Case 5 ‘Thursday
MsgBox “Looking forward to the weekend.”, , “Today is Thursday”
Case 6 ‘Friday
MsgBox “Have a nice weekend!”, , “Today is Friday!”
Case 1, 7 ‘Saturday or Sunday
MsgBox “Hey, it’s currently the weekend!”, , “Today is a weekend day!”
End Select
End Sub

احتمالاً متوجه شده اید که در این ساختار کدهای تکراری کمتری وجود دارند، چرا که شرط اصلی که Weekday(VBA.Date) می باشد در قسمت Select Case یکبار آمده است و در قسمت Case ها فقط نتیجه شرط ذکر شده است. علاوه بر آن، هر Case کاملاً واضح است و خواندن ماکرو ساده تر می باشد.

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

با استفاده از Select Case شما می توانید شرطهای مختلفی را در یک Case گروه بندی کنید، تا به یک نتیجه مشترک از آنها برسید. به عنوان مثال ماههای ژانویه، فوریه و مارچ هر سه در فصل اول سال هستند. اگر شما می خواهید یک پیام تولید کنید که فصل جاری را نشان بدهد، ماکروی زیر به شما نشان می دهد که چگونه ماهها را در Case ها دسته بندی کنید:

Sub CurrentQuarter()
Select Case Month(VBA.Date)
Case 1 To 3: MsgBox “Quarter 1”
Case 4 To 6: MsgBox “Quarter 2”
Case 7 To 9: MsgBox “Quarter 3”
Case 10 To 12: MsgBox “Quarter 4”
End Select
End Sub

همانطور که می توانید ببینید، شما نیازی ندارید تا 12 بیانیه Case جداگانه برای رسیدگی به هر شرط در مورد هر ماه ایجاد کنید، شما به سادگی می توانید محدودۀ ماهها را با استفاده از بیانیۀ To در هر Case بررسی کنید. در این مثال من یکی دیگر از ویژگی های مفید VBA را برای شما رونمایی کرده ام و آن استفاده از کاراکتر کالن (:) می باشد. با استفاده از این کاراکتر می توانید چندین خط جداگانه را در یک خط بنویسید. اگر در این مثال از کالن (:) استفاده نمی کردیم باید هر کدام از آن کدها را در خطی جداگانه می نوشتیم. البته من خودم معمولاً از کاراکتر کالن (:) به این شکل استفاده نمی کنم اما بعضی وقتها که کدهای شما کوتاه هستند، استفاده از کالن (:) می تواند خوانایی کدهای شما را بیشتر کند. به هر حال یک امر سلیقه ای است.


آموزش قبلی : آموزش برنامه نویسی اکسل : If…Then…ElseIf

آموزش بعدی : آموزش برنامه نویسی اکسل : جعبه پیام (Message Boxes)



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.