با سلام خدمت همراهان عزیز سایت آی تی سواد
دستور Select Case یکی از فرمول هایی هست که مانند IF برای آزمایش چند شرط در اکسل استفاده می کنیم.
شیوه کار آن بدین صورت هست که ابتدا ورودی را دریافت کرده و بعد با شرط هایی که تعریف شده مقایسه می کند در صورتی که با هر یک از شرط ها مطابق باشد کدهایی که در زیر آن شرط تعریف شده را اجرا می کند.
چگونه از Select Case در VBA استفاده کنیم.
بیاید نحوه استفاده از Select Case را با چند مثال درک کنیم.
VBA Select Case مثال اول:
فرض کنید عددی در سلول A1 دارید و می خواهید آزمایش کنید که آیا این مقدار از ۱۰۰ بیشتر است یا نه.
اگر مقدار بیشتر از ۱۰۰ باشد ، در سلول B1 عبارت ” More than 100″ وگرنه عبارت “Less than 100” را نمایش دهد. کد زیر اینکار را انجام می دهد.
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub SelectCase_test1() Select Case Range("A1").Value Case Is > 100 Range("B1").Value = "More than 100" Case Else Range("B1").Value = "Less than 100" End Select End Sub |
برای اجرای این کد کلید F5 را بزنید یا بر روی آیکون اجرا کلیک کنید تا نتایج را در سلول B1 بدست آورید.
VBA Select Case مثال دوم:
حالا فرض کنید جدولی مانند زیر دارید و می خواهید شروط زیر را بر روی آن اعمال کنید:
- اگر مقدار ستون Recovery بزرگتر از ۴۵۰۰۰ باشد عبارت “Excellent” را نمایش دهد.
- اگر مقدار ستون Recovery بزرگتر از ۴۰۰۰۰ باشد عبارت “Very Good” را نمایش دهد.
- اگر مقدار ستون Recovery بزرگتر از ۳۰۰۰۰ باشد عبارت “Good” را نمایش دهد.
- اگر مقدار ستون Recovery بزرگتر از ۲۰۰۰۰ باشد عبارت “Not Bad” را نمایش دهد.
- اگر هیچکدام از حالات بالا نباشد باشد عبارت “Bad” را نمایش دهد.
برای انجام این کار کد زیر را باید وارد کنیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub test2() Dim i As Integer i = 2 For i = 2 To 13 Select Case Cells(i, 2).Value Case Is > 45000 Cells(i, 3).Value = "Excellent" Case Is > 40000 Cells(i, 3).Value = "Very Good" Case Is > 30000 Cells(i, 3).Value = "Good" Case Is > 20000 Cells(i, 3).Value = "Not Bad" Case Else Cells(i, 3).Value = "Bad" End Select Next i End Sub |
برای اجرای کد بر روی آیکن run کلیک کنید.
ممنون از همراهی شما کاربران عزیز آی تی سواد
اشتراک گذاری
A big thank you for your blog. Really thank you! Want more. Cassandry Ciro Vlad