اپراتورهای VBA و توابع داخلی

عبارات Excel VBA

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

عملگرهای ریاضی

عملگرهای اصلی ریاضی VBA در جدول زیر فهرست شده اند.

ستون سمت راست جدول اولویت عملگر پیش فرض را در صورت عدم وجود پرانتز نشان می دهد. با افزودن پرانتز به یک عبارت، می توانید ترتیب اجرای دستورات VBA را به دلخواه تغییر دهید.

اپراتورعملاولویت

(1 - بالاترین؛ 5 - کمترین)

^عملگر توان1
*عملگر ضرب2
/اپراتور تقسیم2
تقسیم بدون باقی مانده - نتیجه تقسیم دو عدد بدون باقی مانده را برمی گرداند. مثلا، 74 نتیجه را برمی گرداند 13
شجاعتعملگر ماژول (باقیمانده) – باقیمانده را پس از تقسیم دو عدد برمی گرداند. مثلا، 8 در مقابل 3 نتیجه را برمی گرداند 2.4
+اپراتور اضافه5
-عملگر تفریق5

اپراتورهای رشته ای

عملگر رشته اصلی در Excel VBA عملگر الحاق است & (ادغام):

اپراتورعمل
&عملگر الحاق مثلاً عبارت «الف» و «ب» نتیجه را برمی گرداند AB.

اپراتورهای مقایسه

عملگرهای مقایسه برای مقایسه دو عدد یا رشته و برگرداندن مقدار بولی از نوع استفاده می شوند بولی (درست یا غلط). اپراتورهای اصلی مقایسه Excel VBA در این جدول آورده شده است:

اپراتورعمل
=به همان اندازه
<>نا برابر
<کمتر
>Больше
<=کمتر یا مساوی
>=بزرگتر یا مساوی

عملگرهای منطقی

عملگرهای منطقی، مانند عملگرهای مقایسه، مقدار بولی از نوع را برمی‌گردانند بولی (درست یا غلط). اپراتورهای منطقی اصلی Excel VBA در جدول زیر آمده است:

اپراتورعمل
وعملیات ربط، عملگر منطقی И. مثلاً عبارت الف و ب بر خواهد گشت درست، اگر A и B هر دو برابر هستند درست، در غیر این صورت برگردید غلط.
Orعملیات تفکیک، عملگر منطقی OR. مثلاً عبارت A یا B بر خواهد گشت درست، اگر A or B برابر هستند درست، و باز خواهد گشت غلط، اگر A и B هر دو برابر هستند غلط.
نهعملیات نفی، عملگر منطقی نه. مثلاً عبارت نه A بر خواهد گشت درست، اگر A به همان اندازه غلط، یا بازگشت غلط، اگر A به همان اندازه درست.

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

توابع داخلی

توابع داخلی زیادی در VBA وجود دارد که می توان از آنها هنگام نوشتن کد استفاده کرد. در زیر تعدادی از پرکاربردترین آنها ذکر شده است:

عملکردعمل
سیستم ترمز ضد قفل (ABS)قدر مطلق عدد داده شده را برمی گرداند.

مثال:

  • شکم (-20) مقدار 20 را برمی گرداند.
  • شکم (20) مقدار 20 را برمی گرداند.
پیش از میلادکاراکتر ANSI مربوط به مقدار عددی پارامتر را برمی‌گرداند.

مثال:

  • Chr(10) شکست خط را برمی گرداند.
  • Chr(97) یک شخصیت را برمی گرداند a.
تاریختاریخ فعلی سیستم را برمی‌گرداند.
تاریخ افزودنیک بازه زمانی مشخص را به تاریخ معین اضافه می کند. نحو توابع:

DateAdd(интервал, число, дата)

بحث کجاست فاصله نوع فاصله زمانی اضافه شده به داده را تعیین می کند تاریخ به مقدار مشخص شده در استدلال عدد.

استدلال فاصله می تواند یکی از مقادیر زیر را بگیرد:

فاصلهارزش
yyyyسال
qربع
mماه
yروز سال
dروز
wروز هفته
wwهفته
hساعت
nدقیقه
sدوم

مثال:

  • DateAdd(«d»، 32، «01/01/2015») 32 روز به تاریخ 01/01/2015 اضافه می کند و بنابراین تاریخ 02/02/2015 را برمی گرداند.
  • DateAdd («ww»، 36، «01/01/2015») 36 هفته به تاریخ 01/01/2015 اضافه می کند و تاریخ 09/09/2015 را برمی گرداند.
DateDiffتعداد فواصل زمانی مشخص شده بین دو تاریخ معین را محاسبه می کند.

مثال:

  • DateDiff(«d», «01/01/2015», «02/02/2015») تعداد روزهای بین 01/01/2015 تا 02/02/2015 را محاسبه می کند، 32 را برمی گرداند.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») تعداد هفته ها را بین 01/01/2015 تا 03/03/2016 محاسبه می کند، 61 را برمی گرداند.
روزیک عدد صحیح مربوط به روز ماه در تاریخ معین را برمی گرداند.

مثال: روز («29/01/2015») عدد 29 را برمی گرداند.

ساعتیک عدد صحیح مربوط به تعداد ساعت در زمان معین را برمی‌گرداند.

مثال: ساعت («22:45:00») عدد 22 را برمی گرداند.

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

مثال:

  • InStr(1، "اینجا کلمه جستجو است"، "کلمه") عدد 13 را برمی گرداند.
  • InStr(14، "در اینجا کلمه جستجو، و در اینجا یک کلمه جستجوی دیگر"، "کلمه") عدد 38 را برمی گرداند.

توجه داشته باشید: ممکن است آرگومان عدد مشخص نباشد، در این صورت جستجو از اولین کاراکتر رشته مشخص شده در آرگومان دوم تابع شروع می شود.

INTقسمت صحیح عدد داده شده را برمی گرداند.

مثال: Int(5.79) نتیجه 5 را برمی گرداند.

Isdateبازده درستاگر مقدار داده شده یک تاریخ باشد، یا غلط - اگر تاریخ نباشد.

مثال:

  • IsDate («01/01/2015») بازده درست;
  • IsDate(100) بازده غلط.
IsErrorبازده درستاگر مقدار داده شده یک خطا باشد، یا غلط - اگر خطا نباشد.
مفقود شده استنام یک آرگومان رویه اختیاری به عنوان آرگومان به تابع ارسال می شود. مفقود شده است بازده درستاگر هیچ مقداری برای آرگومان رویه مورد نظر ارسال نشده باشد.
عددی استبازده درستاگر مقدار داده شده را بتوان به عنوان یک عدد در نظر گرفت، در غیر این صورت برمی گردد غلط.
ترک کردتعداد مشخص شده کاراکتر را از ابتدای رشته داده شده برمی گرداند. سینتکس تابع به این صورت است:

Left(строка, длина)

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

مثال:

  • چپ («ابوگدژیکلمن»، 4) رشته "abcg" را برمی گرداند.
  • چپ («ابوگدژیکلمن»، 1) رشته "a" را برمی گرداند.
لنتعداد کاراکترهای یک رشته را برمی گرداند.

مثال: لن ("abcdej") عدد 7 را برمی گرداند.

ماهیک عدد صحیح مربوط به ماه تاریخ داده شده را برمی گرداند.

مثال: ماه («29/01/2015») مقدار 1 را برمی گرداند.

نیمهتعداد مشخص شده کاراکتر را از وسط رشته داده شده برمی گرداند. نحو توابع:

اواسط(خط, شروع, طول)

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

مثال:

  • Mid("abvgdejziklmn", 4, 5) رشته "where" را برمی گرداند.
  • Mid("abvgdejziklmn", 10, 2) رشته "cl" را برمی گرداند.
دقیقهیک عدد صحیح مربوط به تعداد دقیقه در زمان معین را برمی گرداند. مثال: دقیقه («22:45:15») مقدار 45 را برمی گرداند.
اکنونتاریخ و زمان فعلی سیستم را برمی‌گرداند.
درستتعداد مشخص شده کاراکتر را از انتهای رشته داده شده برمی گرداند. نحو توابع:

درست(خط, طول)

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

مثال:

  • راست («ابوگدژزیکلمن»، 4) رشته "clmn" را برمی گرداند.
  • راست («ابوگدژزیکلمن»، 1) رشته n را برمی گرداند.
دومیک عدد صحیح مربوط به تعداد ثانیه در زمان معین را برمی‌گرداند.

مثال: دوم («22:45:15») مقدار 15 را برمی گرداند.

مربعجذر مقدار عددی ارسال شده در آرگومان را برمی گرداند.

مثال:

  • مربع (4) مقدار 2 را برمی گرداند.
  • مربع (16) مقدار 4 را برمی گرداند.
زمانزمان فعلی سیستم را برمی‌گرداند.
برون رفتبالانویس بعد آرایه مشخص شده را برمی گرداند.

توجه داشته باشید: برای آرایه های چند بعدی، یک آرگومان اختیاری ممکن است شاخصی باشد که کدام بعد باید برگردانده شود. اگر مشخص نشده باشد، پیش فرض 1 است.

سالیک عدد صحیح مربوط به سال تاریخ داده شده را برمی گرداند. مثال: سال («29/01/2015») مقدار 2015 را برمی گرداند.

این لیست فقط شامل مجموعه ای از متداول ترین توابع داخلی ویژوال بیسیک اکسل است. فهرست کاملی از توابع VBA موجود برای استفاده در ماکروهای اکسل را می‌توانید در مرکز توسعه‌دهنده ویژوال بیسیک بیابید.

پاسخ دهید