در آموزش های قبلی سایت با عملگرهای مقایسه ای و عمگرهای منطقی پشتیبانی شده در 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)
بیشتر بخوانید
توابع توکار VBA | لیست کامل توابع داخلی در ویژوال بیسیک
عملگرهای VBA | انجام عملیات روی داده ها و ایجاد عبارت ها
حلقه در VBA | ایجاد حلقه برای تکرار دستورات در ویژوال بیسیک
کدهای VBA | آشنایی با کدها و دستور زبان برنامه نویسی VBA
دستور IF | اجرای مشروط کد با استفاده از عبارت های شرطی و منطقی
آرایه در VBA | آرایه ها و کاربرد آن ها در برنامه نویسی
میدان دید متغیر در VBA | نحوه دسترسی به متغیرها در قسمت های مختلف پروژه