یادگیری If Then یا شرط ها در برنامه نویسی اکسل قدرت کد نویسی شما بسیار بسیار بالا تر خواهد رفت و بهتر خواهید توانست شرایط مورد نظر خود را با کد نویسی به اکسل بفهمانید!

با شروط در برنامه نویسی می توانید تعیید کنید کدام خط ها از برنامه در چه شرایطی اجرا شود و در چه شرایطی اجرا نشود.

شرط If Then  در اکسل

در VBA برای شرط گزاری از if Then استفاده می کنیم.

قبلا یاد گرفتیم چگونه دکمه ای ایجاد کنیم تا کلیک بر روی آن کدی اجرا شود، از همان تکنیک استفاده می کنیم و کد زیر را در هنگام کلیک بر روی دکمه اجرا خواهیم کرد:

 Dim score As Integer, result As String
score = Range("A1").Value

If score >= 60 Then result = "pass"

Range("B1").Value = result

 

در خط اول دو متغیر از جنس عددی و دیگر از جنس رشته ساختیم.

مقدار خانه A1 را درون متغیر score می ریزیم! طبیعتاً باید مقدار از جنس عدد صحیح باشد.

در خط سوم از ساختار If  استفاده کردیم ، ساختار به صورت زیر است.

if   (شرط مورد نظر) Then (کد هایی که میخواهیم در صورت صحیح بودن شرط اجرا شوند)

پس گفته ایم اگر score >= 60 (یعنی مقدار خانه A1 بزرگتر یا مساوی ۶۰ باشد) آنگاه result = pass شود…

 

سپس مقدار result را درون خانه B1 میریزیم

 

پس اگر درون A1 مقدار بزرگتر از ۶۰ باشد و شما روی کلید کلیک کنید خانه B1 باید تغییر کند:

 

استفاده از Else در شرط ها

بعضی اوقات نیاز دارید به اکسل بفهمانید اگر این ظرایط بود این کار ها را اجرا کن اما اگر این شرایط نبود یک کد دیگری را اجرا کن، در این حالت باید از else بعد از همان if استفاده کنید.

Dim score As Integer, result As String
score = Range("A1").Value

If score >= 60 Then
    result = "pass"
Else
    result = "fail"
End If

Range("B1").Value = result

 

حالا اگر مقدار خانه بزرگتر مساوی ۶۰ بود خانه B1 برابر با pass می شود و اگر نبود برابر با fail ! به همین سادگی !

 

 

 

نکات:

۱-در حالت که کد را در چند خط می نویسیم باید مشخص کنیم که محدوده ای که قرار است در صورت صحیح بودن شرط کد هایش اجرا شود تا کجاست! در پایان آن محدوده عبارت End If را می نویسیم.

 

۲- در شرط ها برای مقایسه از علامت های مختلفی استفاده می کنیم ، مثلا برای چک کردن مساوی بودن دو مقدار از علامت == استفاده می کنیم ، و نباید از یک = استفاده کرد و حتما باید دو تا باشد، استفاده از یک = به معنای ریختن مقداری درون مقدار دیگر است.

۳-در if از متغیر های boolean هم میتوان استفاده کرد، این متغیر ها چون دو حالت صحیح و غلط دارد در شروط دیگر نیازی نیست آن ها را با چیزی مقایسه کنیم، به مثال توجه کنید، دو کد زیر با هم از لحاظ اجرا هیچ تفاوتی ندارد:

Dim isopen As Boolean

If isopen Then
Range("B1").Value = "door is Open"
Else
Range("B1").Value = "door is Close"
End If


Dim isopen As Boolean

If isopen==true Then
Range("B1").Value = "door is Open"
Else
Range("B1").Value = "door is Close"
End If


در کد اول خود اکسل اگر مقدار متغییر درست (۱) بوده باشد شرط را صحیح حساب می کند و اکر مقدار ۰ یا غلط باشد شرط را صحیح ندانسته و وارد else می شود.

درباره نویسنده

سید حامد موسوی

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

متن نظر