تبلیغات
آموزش برنامه نویسی و حسابداری در اکسل - نحوه استفاده از تابع IF در VBA
نحوه استفاده از تابع IF در VBA
نوشته شده توسط محسن در ساعت 03:03 ب.ظ

تصمیم گیری ها

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

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

if conditional then statement

که در آن conditional عبارت شرطی و Statement دستوری است که در صورت صحت شرط باید اجرا شود .


مثال :

sub test()

If Application.Activecell=5 Then
MsgBox "cell is 5"
Else
MsgBox "cell isnot 5"
End If

در این مثال اگر سلول فعال در کاربرگ اکسل برابر یا مقدار 5 باشد . پیام "cell is 5" و در غیر این صورت پیام "cell isnot 5" ارسال خواهد شد.

مثال :

Sub test()
If Range("a1") > 3000000 Then
Range("a2") = (Range("a1") * 10) / 100
Else
Range("a2") = 0
End If
End Sub

در ماژول بالا اگر عدد موجود در سلول A1  بزرگتر از 3000000  باشد این عدد در 10%  ضرب شده و در سلول A2  ثبت خواهد  شد . و اگر عدد موجود در A1 کوچکتر از 3000000 باشد عدد صفر در سلول A2 ثبت خواهد شد.


دستورهای شرطی چند گانه

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

اگر قرار باشد در دستور شرطی دو شرط را کنترل کنیم . می توانیم دستور IF  را به صورت زیر بنویسیم :

IF X=1  AND  Y  >5  THEN
MSGBOX="HELLO"
END IF

مثال : قصد داریم اگر عدد وارد شده در سلول A1  بزرگتر از 100 و کوچکتر از 150 بود یک کادر نمایش باز شود و این پیغام ظاهر شود. "عدد وارد شده بین 100 و 150 میباشد " و اگر بزرگتر از 150  و کوچکتر از 200  باشد این پیغام ظاهر شود "عدد وارد شده بین 150 و 200 میباشد "

Sub test()
If Range("a1") > 100 And Range("a1") <= 150 Then
MsgBox "عدد وارد شده بین 100 و 150 میباشد"
End If
If Range("a1") > 150 And Range("a1") <= 200 Then
MsgBox "عدد وارد شده بین 150 و 200  میباشد"
End If
End Sub


دستور شرطی SELECT CASE  

دستور دیگری که در پردازش شرط ها در VBA  وجود دارد دستور SELECT CASE  است .

Sub test()
Select Case Range("a1")
Case 100 To 150
MsgBox "عدد وارد شده بین 100 و 150 میباشد"
Case 150 To 200
MsgBox "عدد وارد شده بین 150 و 200 میباشد "
End Select
End Sub


»
 
 

قالب وبلاگ

هاست لینوكس

مرجع راهنمای وبلاگ نویسان

سفارش طراحی اختصاصی قالب وب سایت و قالب وبلاگ

طراحی وب

شارژ ایرانسل

فال حافظ