VBA operatorları və daxili funksiyalar

Excel VBA ifadələri

Excel-də VBA kodunu yazarkən hər addımda daxili operatorlar dəsti istifadə olunur. Bu operatorlar riyazi, sətirli, müqayisəli və məntiqi operatorlara bölünür. Sonra, hər bir operator qrupuna ətraflı baxacağıq.

Riyazi operatorlar

Əsas VBA riyaziyyat operatorları aşağıdakı cədvəldə verilmişdir.

Cədvəlin sağ sütunu mötərizələrin olmadığı halda standart operatorun üstünlüyünü göstərir. İfadəyə mötərizə əlavə etməklə VBA ifadələrinin yerinə yetirilmə sırasını istədiyiniz kimi dəyişə bilərsiniz.

Operatorfəaliyyətprioritet

(1 - ən yüksək; 5 - ən aşağı)

^eksponentasiya operatoru1
*vurma operatoru2
/bölmə operatoru2
Qalıqsız bölmə – iki ədədin qalıqsız bölünməsinin nəticəsini qaytarır. Misal üçün, 74 nəticəni qaytaracaq 13
cəsarətModulo (qalıq) operatoru – iki ədədi böldükdən sonra qalığı qaytarır. Misal üçün, 8-ə qarşı 3 nəticəni qaytaracaq 2.4
+Əlavə operatoru5
-çıxma operatoru5

Simli Operatorlar

Excel VBA-da əsas sətir operatoru birləşdirici operatordur & (birləşmə):

Operatorfəaliyyət
&birləşdirici operator. Məsələn, ifadə «A» və «B» nəticəni qaytaracaq AB.

Müqayisə Operatorları

Müqayisə operatorları iki ədədi və ya sətri müqayisə etmək və növün boolean dəyərini qaytarmaq üçün istifadə olunur Boolean (Doğru və ya yanlış). Əsas Excel VBA müqayisə operatorları bu cədvəldə verilmişdir:

Operatorfəaliyyət
=Bərabər
<>Bərabər deyil
<Less
>Больше
<=Daha az və ya bərabərdir
>=Daha böyük və ya bərabər

məntiqi operatorlar

Məntiqi operatorlar, müqayisə operatorları kimi, növün məntiqi dəyərini qaytarır Boolean (Doğru və ya yanlış). Excel VBA-nın əsas məntiqi operatorları aşağıdakı cədvəldə verilmişdir:

Operatorfəaliyyət
birləşmə əməliyyatı, məntiqi operator И. Məsələn, ifadə A Və B geri dönəcək DoğruƏgər A и B hər ikisi bərabərdir Doğru, əks halda qaytarın Saxta.
OrDiszyunksiya əməliyyatı, məntiqi operator OR. Məsələn, ifadə A Və ya B geri dönəcək DoğruƏgər A or B bərabərdir Doğru, və qayıdacaq SaxtaƏgər A и B hər ikisi bərabərdir Saxta.
Yoxİnkar əməliyyatı, məntiqi operator EDİLMƏDİ. Məsələn, ifadə A yox geri dönəcək DoğruƏgər A Bərabər Saxta, ya da qayıt SaxtaƏgər A Bərabər Doğru.

Yuxarıdakı cədvəldə VBA-da mövcud olan bütün məntiqi operatorlar göstərilmir. Məntiqi operatorların tam siyahısını Visual Basic Developer Center-də tapa bilərsiniz.

Daxili funksiyalar

VBA-da kod yazarkən istifadə edilə bilən bir çox daxili funksiyalar mövcuddur. Aşağıda ən çox istifadə olunanlardan bəziləri verilmişdir:

Functionfəaliyyət
AbsVerilmiş ədədin mütləq dəyərini qaytarır.

Misal:

  • Abs(-20) 20 dəyərini qaytarır;
  • Abs(20) 20 dəyərini qaytarır.
XrParametrin ədədi dəyərinə uyğun gələn ANSI simvolunu qaytarır.

Misal:

  • Chr(10) sətir fasiləsini qaytarır;
  • Chr(97) simvol qaytarır a.
tarixCari sistem tarixini qaytarır.
Əlavə etmə tarixiVerilmiş tarixə müəyyən vaxt intervalı əlavə edir. Funksiya sintaksisi:

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

Arqument haradadır interval verilənə əlavə olunan vaxt intervalının növünü müəyyən edir tarix arqumentdə göstərilən məbləğdə nömrə.

Arqument interval aşağıdakı dəyərlərdən birini qəbul edə bilər:

IntervalDəyər
yyyyil
qrüb
may
yilin günü
dgün
whəftənin günü
wwhəftə
hsaat
ndəqiqə
sikinci

Misal:

  • Əlavə tarixi(«d», 32, «01/01/2015») 32/01/01 tarixinə 2015 gün əlavə edir və bununla da 02/02/2015 tarixini qaytarır.
  • DateAdd(«ww», 36, «01/01/2015») 36/01/01 tarixinə 2015 həftə əlavə edir və 09/09/2015 tarixini qaytarır.
DateFərqİki verilmiş tarix arasında müəyyən edilmiş vaxt intervallarının sayını hesablayır.

Misal:

  • DateDiff(«d», «01/01/2015», «02/02/2015») 01/01/2015 və 02/02/2015 tarixləri arasında günlərin sayını hesablayır, 32-ni qaytarır.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») 01/01/2015 və 03/03/2016 tarixləri arasında həftələrin sayını hesablayır, 61-i qaytarır.
GünVerilmiş tarixdə ayın gününə uyğun gələn tam ədədi qaytarır.

Misal: Gün(«29/01/2015») 29 rəqəmini qaytarır.

saatVerilmiş vaxtda saatların sayına uyğun olan tam ədədi qaytarır.

Misal: Saat(«22:45:00») 22 rəqəmini qaytarır.

InStrArqument kimi bir tam ədəd və iki sətir götürür. Axtarışa tam ədədlə verilən mövqedən başlayaraq birinci sətir daxilində ikinci sətirin baş vermə mövqeyini qaytarır.

Misal:

  • InStr(1, “Budur, axtarış sözü”, “söz”) 13 rəqəmini qaytarır.
  • InStr(14, “Budur, axtarış sözü, burada başqa bir axtarış sözü”, “söz”) 38 rəqəmini qaytarır.

Qeyd: Rəqəm arqumenti müəyyən edilə bilməz, bu halda axtarış funksiyanın ikinci arqumentində göstərilən sətirin birinci simvolundan başlayır.

IntVerilmiş ədədin tam hissəsini qaytarır.

Misal: Int(5.79) 5-ci nəticəni qaytarır.

TarixYekunları Doğruverilmiş dəyər tarixdirsə və ya Saxta - tarix deyilsə.

Misal:

  • İstifadə tarixi(«01/01/2015») Yekunları Doğru;
  • İş Tarixi(100) Yekunları Saxta.
IsErrorYekunları Doğruverilmiş dəyər xətadırsa və ya Saxta - səhv deyilsə.
ƏskikƏlavə prosedur arqumentinin adı funksiyaya arqument kimi ötürülür. Əskik Yekunları Doğrusözügedən prosedur arqumenti üçün heç bir dəyər ötürülmədikdə.
IsNumericYekunları Doğruəgər verilmiş dəyər ədəd kimi qəbul edilə bilərsə, əks halda qaytarır Saxta.
SolVerilmiş sətirin əvvəlindən müəyyən edilmiş simvol sayını qaytarır. Funksiya sintaksisi belədir:

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

hara xətt orijinal sətirdir və uzunluq sətrin əvvəlindən saymaqla qaytarılacaq simvolların sayıdır.

Misal:

  • Sol("abvgdejziklmn", 4) “abcg” sətirini qaytarır;
  • Sol("abvgdejziklmn", 1) “a” sətirini qaytarır.
LenSətirdəki simvolların sayını qaytarır.

Misal: Len("abcdej") 7 rəqəmini qaytarır.

ayVerilmiş tarixin ayına uyğun olan tam ədədi qaytarır.

Misal: Ay(«29/01/2015») 1 dəyərini qaytarır.

OrtaVerilmiş sətirin ortasından müəyyən edilmiş simvol sayını qaytarır. Funksiya sintaksisi:

orta(xətt, Başlamaq, uzunluq)

hara xətt orijinal simdir Başlamaq – çıxarılacaq sətirin başlanğıcının mövqeyi, uzunluq çıxarılacaq simvolların sayıdır.

Misal:

  • Orta("abvgdejziklmn", 4, 5) “harada” sətrini qaytarır;
  • Orta("abvgdejziklmn", 10, 2) “cl” sətirini qaytarır.
DəqiqəVerilmiş vaxtda dəqiqələrin sayına uyğun olan tam ədədi qaytarır. Misal: Dəqiqə(«22:45:15») 45 dəyərini qaytarır.
ArtıqCari sistem tarixini və vaxtını qaytarır.
SağVerilmiş sətirin sonundan müəyyən edilmiş simvol sayını qaytarır. Funksiya sintaksisi:

sağ(xətt, uzunluq)

Hara xətt orijinal sətirdir və uzunluq verilmiş sətirin sonundan hesablanaraq çıxarılacaq simvolların sayıdır.

Misal:

  • Sağ (“abvgdezhziklmn”, 4) “clmn” sətirini qaytarır;
  • Sağ (“abvgdezhziklmn”, 1) “n” sətirini qaytarır.
IkinciVerilmiş vaxtda saniyələrin sayına uyğun olan tam ədədi qaytarır.

Misal: İkinci (“22:45:15”) 15 dəyərini qaytarır.

SqrArqumentdə ötürülən rəqəmli dəyərin kvadrat kökünü qaytarır.

Misal:

  • Kvadrat(4) 2 dəyərini qaytarır;
  • Kvadrat(16) 4 dəyərini qaytarır.
vaxtCari sistem vaxtını qaytarır.
UboundGöstərilən massiv ölçüsünün yuxarı işarəsini qaytarır.

Qeyd: Çoxölçülü massivlər üçün isteğe bağlı arqument hansı ölçüsün qaytarılacağı indeksi ola bilər. Göstərilməyibsə, standart 1-dir.

ilVerilmiş tarixin ilinə uyğun olan tam ədədi qaytarır. Misal: İl(«29/01/2015») 2015 dəyərini qaytarır.

Bu siyahıya yalnız ən çox istifadə edilən daxili Excel Visual Basic funksiyalarının seçimi daxildir. Excel makrolarında istifadə üçün mövcud olan VBA funksiyalarının tam siyahısını Visual Basic Developer Center-də tapa bilərsiniz.

Cavab yaz