عبارت های شرطی و منطقی در VBA | کاربرد عملگرهای مقایسه ای و منطقی

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

تعریف

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

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

آیا می‌دانید:

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

کاربرد عبارت های شرطی

در اولین برنامه VBA سایت عدد دریافتی در جعبه متن کادر تابع InputBox را به توان ۲ رساندیم و خروجی را به کاربر از طریق پنجره پیغام به کاربر نمایش دادیم.

حالا فرض کنید که کاربر به جای عدد حرف داخل جعبه متن تایپ نماید. اتفاقی که می افتد VBA ناگریز در کد زیر

intCalculatedNumber = strUserInput ^ 2

یک حرف را به توان دو باید برساند. بنابراین کدی که نوشته ایم باعث ایجاد خطای کامپایلر (Type mismatch (Error 13)) خواهد شد و برنامه متوقف خواهد گردید.

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

بنابراین می توانیم با ایجاد یک عبارت شرطی در اولین برنامه خود، توان دو را فقط در صورتی اجرا نماییم که ورودی کاربر عددی باشد.

کاربرد متغیر بولی ( Boolean ) در عبارت های شرطی و منطقی

اگر نگاهی دقیق به نتیجه عمگرهای مقایسه ای و شرطی پشتیبانی شده VBA در این صفحه بیندازید، متوجه خواهید شده که نتیجه این دو عملگر یا True (صحیح) و یا False (غلط) می باشد.

متغیر بولی ( Boolean ) در VBA فقط یکی از دو مقدار True یا False را می تواند داشته باشد.

جواب هر عبارت شرطی نیز می تواند درست (True) یا غلط (False) باشد.

بنابراین متغیر بولی ( Boolean ) برای ذخیره جواب عبارت های شرطی و منطقی در زبان برنامه نویسی کاربرد دارد.

ترکیب عملگرهای مقایسه ای و منطقی

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

بعنوان مثال فرض کنید که می خواهید شرط مثبت بودن مقدار دو متغیر intA و intB را بصورت همزمان بررسی نمایید.

برای بررسی این شرط باید با استفاده از ترکیب عمگر مقایسه ای < و عملگر منطقی And عبارت شرطی زیر را بسازید:


intA > 0 AND intB > 0

عبارت شرطی بالا در صورتی که مقدار هر دو متغیر intA و intB بیشتر از صفر باشد جواب True را خواهد داشت.

به هنگام ترکیب عملگرهای مقایسه ای و منطقی برای ایجاد عبارت های شرطی اولویت عملگرها را در نظر داشته باشید.

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

مثال

در کد زیر مقدار متغیر i و j را با استفاده از ایجاد عبارت منطقی بررسی می نماییم و نتیجه عبارت منطقی را در متغیر بولی sw ذخیره می نماییم.


Dim i As Integer
Dim j As Integer
Dim sw As Boolean

sw = (i > 100) Or (j < -20)

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