جلسه ششم- دستور شرطی if then else در محیط برنامه نویسی اکسل

 

برنامه هایی که تا اینجا نوشته شدند همگی دارای کدهایی بودند که پشت سر هم انجام میشدند.

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

 

ساختار تصمیم یا شرطی IF

 

  • ساختار اولیه وساده: 

 

if       شرط         then

دستورات

end if

 

 در این ساختار ابندا شرطی بررسی میشود و در صورت وجود آن شرط دستو یا دستورات مورد نظر انجام میشوند.

 

مثال: در سلول A1 عددی قرار دارد که سن شخصی را نشان میدهد. میخواهیم با توجه به سن در سلول B1 پیغامی بنویسیم

Sub grade()

 

If Range("a1") >= 17 Then

Range("b1") = "good"

End If

 

End Sub

 

  •  ساختار کامل دستور شرطی If

If شرط1then

دستورات

Elseif 2شرط  then

دستورات

 

Elseifشرط آخر  then

دستورات

 

 

Else

       دستورات

Endif

 

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

 

مثال:برنامه ای بنویسید که برای نمرات بالای 17 عبارت A بین 17 تا 14 عبارت B  و کمتر از 14 عبارت Cرا تایپ نماید.

 

جواب:

Sub grade()

 

If Range("a1").Value >= 17 Then

           Range("b1").Value = "A"

ElseIf Range("a1").Value < 17 And Range("a1").Value >= 14 Then

Range("b1") = "B"

Else

Range("b1").Value = "C"

End If

End Sub

/ 7 نظر / 491 بازدید
JOUDAKI

درود بر استاد بزرگ وقتی میخوایم از pivot table استفاده کنیم اگه سلول خالی داشته باشیم با خطا مواجه میشویم راه حلی که شما به من دادین پر کردن سلول های خالی با شرط if هست اگه نگم بهترین حتما پرکاربرد ترین تابعی که ازش استفاده می کنم فایل نمونه را براتون ایمیل می کنم

یاسر

سلام خیلی مطلب جالب و آموزنده ای بود سپاسگذارم از شما راستی این فایل پایوت تیبل رو میشه برای من هم ایمیل کنید ممنون asan.samia25@gmail.com

نفيسه

سلام. بابت مطالبتون متشكرم خيلي ميفيدبود.لطف كنيدنوع دستور نويسي براي اينكه شماره رنگهاروهم به دست بياريم برام ارسال كنيد. متشكرم

جعفر

با سلام من برنامه مهای نوشتم با توجه به اموزش های سایت شما اما این برنامه کار نمیکنه . برنامه به این صورته که درون ستون aیکسری داده دارم این داده ها را را با دستور ifمیخواهم رتبه بندی کنم برای یک سلول خاص این دستور قابله اجراست اما برای یک ستون با داده های زیاد نمیدونم چطور این برنامه رو بنویسم لطفا منو راهنمایی کنید . این موضوع بیشتر شبیه رتبه دادن با حروف به نمراد دانشاموزان یک کلاس با سه رتبهa.b.c isja

malihe tavakoli

سلام.وقت بخیر.دستورات رو نوشتم ولی خروجی نداره میشه راهنمایی کنید در سلول c2 نام درس و در سلول e2 درصورتیکه نام درس icdl2 باشد مبلغ شهریه 850000 ریال میبایست درج شود درسلول e2 با کلید alt+f11 وارد محیط برنامه نویسی شدم ودستورات زیر را درج کردم Sub shahrie() If c2 = "icdl2" Then e2 = 850000 End Sub

امیر

سلام اگر بخوایم نام کسی که بیشترین نمره و کمترین نمره رو در یک سلول نمایش بدیم باید چکار کنیم ؟ پیشاپیش ممنون از راهنمایی

نصیر

سلام خسته نباشید خیلی عالی بود استفاده زیادی بردیم موفق باشید