در آموزشهای قبلی سایت با مفهوم متغیر و ثابت در VBA آشنا شدیم. در این بخش از آموزشهای رایگان ویبیای قصد داریم با عملگرهای VBA آشنا شویم و ببینیم چگونه میتوانیم با کمک آنها عملیات ریاضی، مقایسهای و منطقی را در برنامهنویسی انجام دهیم.
عملگرها (Operators) یکی از پایههای اصلی زبان VBA هستند و برای انجام محاسبات، بررسی شرایط، ترکیب رشتهها و کنترل منطق برنامه استفاده میشوند. در واقع عملگرها همان ابزارهاییاند که به شما اجازه میدهند با دادهها کار کنید و خروجی موردنظر خود را بهدست آورید.
📑 فهرست مطالب
انواع عملگرها در VBA
عملگرهای VBA در چهار دستهی اصلی زیر تقسیم میشوند:
عملگرهای حسابی (Arithmetic Operators)
عملگرهای حسابی در VBA برای انجام عملیات ریاضی مانند جمع، تفریق، ضرب، تقسیم و توان استفاده میشوند. جدول زیر مهمترین عملگرهای ریاضی را نمایش میدهد:
| نتیجه | مثال | هدف | عملگر |
|---|---|---|---|
| 6 | 2*3 | ضرب | * |
| 8 | 2^3 | توان | ^ |
| 3 | 6/2 | تقسیم | / |
| 3 | 11\3 | تقسیم عدد صحیح | \ |
| 2 | 11 Mod 3 | باقیمانده تقسیم | Mod |
| 5 | 2+3 | جمع | + |
| 3 | 6-3 | تفریق | – |
مثال
Dim y
y = 2 * 2 ' ۴
y = 2 ^ 3 ' ۸
y = 10 / 4 ' ۲.۵
y = 11 \ 4 ' ۲
y = 10 Mod 5 ' ۰
y = 10 + 5 ' ۱۵
y = 10 - 5 ' ۵
نمونه کاربردی در Excel:
If Range("A1").Value Mod 2 = 0 Then
MsgBox "عدد موجود در سلول A1 زوج است."
End If
عملگرهای رابطهای (Comparison Operators)
عملگرهای رابطهای در VBA برای مقایسه بین دو مقدار یا عبارت استفاده میشوند. نتیجه همیشه یکی از دو مقدار True یا False خواهد بود.
| نتیجه | مثال | توضیح | عملگر |
|---|---|---|---|
| True | 3 < 6 | کوچکتر از | < |
| True | 4 <= 21 | کوچکتر یا مساوی | <= |
| True | 6 > 3 | بزرگتر از | > |
| True | 23 >= 23 | بزرگتر یا مساوی | >= |
| False | 7 = 2 | مساوی | = |
| True | 7 <> 2 | نامساوی | <> |
| – | – | مقایسه مرجع اشیاء | Is |
| – | – | مقایسه بین دو رشته | Like |
مثال
Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' False
MyResult = (45 = 45) ' True
MyResult = (4 <> 3) ' True
MyResult = ("5" > "4") ' True
Var1 = "5": Var2 = 4
MyResult = (Var1 > Var2) ' True
Var1 = 0: Var2 = Empty
MyResult = (Var1 = Var2) ' True
برای آشنایی بیشتر با عملگر Like و نحوه مقایسه رشتهها، این صفحه را ببینید.
عملگرهای ترکیب رشتهای (Concatenation Operators)
در VBA دو عملگر برای ترکیب رشتهها وجود دارد: + و &. هر دو عملگر رشتهها را به هم متصل میکنند اما استفاده از & توصیه میشود زیرا از تداخل با عملیات جمع جلوگیری میکند.
| نتیجه | مثال | توضیح | عملگر |
|---|---|---|---|
| “Hello World” | “Hello” + “World” | ترکیب رشتهای | + |
| “Hello World” | “Hello” & “World” | ترکیب رشتهای | & |
اگر رشتهها و اعداد را در یک عبارت ترکیب میکنید (مثلاً “مجموع = ” + 5)، بهتر است از & استفاده کنید تا نتیجه بهدرستی نمایش داده شود.
عملگرهای منطقی (Logical Operators)
عملگرهای منطقی در VBA برای ترکیب شرایط چندگانه در دستورهای شرطی مانند If یا While استفاده میشوند.
| نتیجه | مثال | توضیح | نام فارسی | عملگر |
|---|---|---|---|---|
| True | (2>1) And (4<5) | هر دو شرط باید درست باشند | و | And |
| True | (2>1) Or (4<3) | حداقل یکی از شروط درست باشد | یا | Or |
| False | Not (3=3) | نتیجه را معکوس میکند | مخالف | Not |
| True | (2>1) Xor (4<3) | فقط یکی از شروط درست باشد | – | Xor |
| True | (2>1) Eqv (4<5) | دو عبارت هر دو درست یا هر دو غلط باشند | همارزی | Eqv |
| False | (2>1) Imp (4>5) | در صورتی که شرط اول درست و شرط دوم غلط باشد، نتیجه False است | مفهوم | Imp |
نمونه کاربردی:
If (Range("A1").Value > 0) And (Range("B1").Value > 0) Then
MsgBox "هر دو عدد مثبت هستند."
End If
خلاصه مطلب
- عملگرها ابزار اصلی کار با دادهها در VBA هستند.
- در ترکیب رشتهها از
&استفاده کنید تا از خطاهای احتمالی جلوگیری شود. - با ترکیب عملگرهای منطقی میتوانید شرایط پیچیده را به سادگی در VBA بررسی کنید.
سؤالات متداول درباره عملگرهای VBA
عملگرها در VBA چه هستند؟
عملگرها در VBA نمادهایی هستند که برای انجام عملیات ریاضی، مقایسه مقادیر یا ترکیب رشتهها استفاده میشوند. با کمک عملگرها میتوانید بین متغیرها و ثابتها ارتباط منطقی برقرار کرده و عبارات معنادار بسازید.
چند نوع عملگر در VBA وجود دارد؟
VBA چهار نوع عملگر اصلی دارد: حسابی (Arithmetic) برای محاسبات ریاضی، رابطهای (Comparison) برای مقایسه، ترکیب رشتهای (Concatenation) برای کار با متنها، و منطقی (Logical) برای ترکیب شرطها.
تفاوت عملگرهای & و + در ترکیب رشتهها چیست؟
هر دو عملگر & و + برای ترکیب رشتهها در VBA قابل استفاده هستند. با این حال، از آنجا که عملگر + میتواند روی دادههای عددی هم عمل کند، استفاده از & برای ترکیب رشتهها پیشنهاد میشود تا از ابهام و خطا جلوگیری شود.
عملگر And در VBA چه کاربردی دارد؟
عملگر And در VBA برای ترکیب دو شرط استفاده میشود. تنها زمانی مقدار True برمیگرداند که هر دو شرط درست باشند؛ در غیر این صورت نتیجه False خواهد بود.
منبع
بیشتر بخوانید
Me در VBA | کاربرد کلمه کلیدی Me در VBA و برنامه نویسی شیءگرا
روال Property Get در VBA | کاربرد روال Property Get در شیءگرایی
روال Property Set در VBA | کاربرد روال Property Set در شیءگرایی
روال Property Let در VBA | شیءگرایی و کپسوله سازی داده ها در VBA
خواص کلاس در VBA | ایجاد خواص کلاس با استفاده از اعلان متغیر در VBA
کلاس و شیء در VBA | مراحل ایجاد کلاس و شیء در VBA
برنامه نویسی شیءگرا (OOP) | مقدمه ای بر روش برنامه نویسی شیءگرا