VBA operatorlari va o'rnatilgan funktsiyalari

Excel VBA bayonotlari

Excelda VBA kodini yozishda har bir qadamda o'rnatilgan operatorlar to'plami ishlatiladi. Bu operatorlar matematik, satr, taqqoslash va mantiqiy operatorlarga bo'linadi. Keyinchalik, biz operatorlarning har bir guruhini batafsil ko'rib chiqamiz.

Matematik operatorlar

Asosiy VBA matematik operatorlari quyidagi jadvalda keltirilgan.

Jadvalning o'ng ustunida qavslarsiz standart operator ustunligi ko'rsatilgan. Ifodaga qavslar qo'shish orqali siz VBA bayonotlarining bajarilishi tartibini o'zingiz xohlagancha o'zgartirishingiz mumkin.

Operatorharakatustunlik

(1 - eng yuqori; 5 - eng past)

^eksponentatsiya operatori1
*ko'paytirish operatori2
/bo'linish operatori2
Qoldiqsiz bo'linish - ikkita sonni qoldiqsiz bo'lish natijasini qaytaradi. Masalan, 74 natijani qaytaradi 13
jasurlikModulo (qolgan) operatori - ikkita raqamni bo'lingandan keyin qolganni qaytaradi. Masalan, 8 ga qarshi 3 natijani qaytaradi 2.4
+Qo'shish operatori5
-ayirish operatori5

String operatorlari

Excel VBA-dagi asosiy string operatori birlashtiruvchi operatordir & (birlashma):

Operatorharakat
&birlashtiruvchi operator. Masalan, ifoda "A" va "B" natijani qaytaradi AB.

Taqqoslash operatorlari

Taqqoslash operatorlari ikkita raqam yoki satrni solishtirish va turning mantiqiy qiymatini qaytarish uchun ishlatiladi Boolean (To'g'ri yoki noto'g'ri). Asosiy Excel VBA taqqoslash operatorlari ushbu jadvalda keltirilgan:

Operatorharakat
=Teng
<>Teng emas
<Kamroq
>Qo'shimcha ma'lumotlar
<=Kichikroq yoki teng
>=Kattaroq yoki teng

Mantiqiy operatorlar

Taqqoslash operatorlari kabi mantiqiy operatorlar turning mantiqiy qiymatini qaytaradi Boolean (To'g'ri yoki noto'g'ri). Excel VBA ning asosiy mantiqiy operatorlari quyidagi jadvalda keltirilgan:

Operatorharakat
vabirikma amali, mantiqiy operator И. Masalan, ifoda A va B qaytib keladi chin, agar A и B ikkalasi ham teng chin, aks holda qaytaring yolg'on.
OrDiszyunksiya operatsiyasi, mantiqiy operator OR. Masalan, ifoda A yoki B qaytib keladi chin, agar A or B tengdir chin, va qaytib keladi yolg'on, agar A и B ikkalasi ham teng yolg'on.
yo'qInkor amali, mantiqiy operator EMAS. Masalan, ifoda A emas qaytib keladi chin, agar A teng ravishda yolg'on, yoki qaytish yolg'on, agar A teng ravishda chin.

Yuqoridagi jadvalda VBA-da mavjud bo'lgan barcha mantiqiy operatorlar ro'yxati yo'q. Mantiqiy operatorlarning to'liq ro'yxatini Visual Basic Developer Center-da topish mumkin.

O'rnatilgan funktsiyalar

VBA-da kod yozishda foydalanish mumkin bo'lgan ko'plab o'rnatilgan funktsiyalar mavjud. Quyida eng ko'p ishlatiladiganlar ro'yxati keltirilgan:

vazifaharakat
AbksBerilgan raqamning mutlaq qiymatini qaytaradi.

misol:

  • Abs(-20) 20 qiymatini qaytaradi;
  • Abs(20) 20 qiymatini qaytaradi.
Miloddan avvalgiParametrning raqamli qiymatiga mos keladigan ANSI belgisini qaytaradi.

misol:

  • Chr(10) qator uzilishini qaytaradi;
  • Chr(97) belgi qaytaradi a.
sanaJoriy tizim sanasini qaytaradi.
Qo'shish sanasiBelgilangan sanaga belgilangan vaqt oralig'ini qo'shadi. Funktsiya sintaksisi:

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

Bahs qayerda interval berilganga qo'shilgan vaqt oralig'ining turini aniqlaydi sana argumentda ko'rsatilgan miqdorda soni.

Dalil interval quyidagi qiymatlardan birini qabul qilishi mumkin:

Oraliqqiymati
yyyyyil
qchorak
moy
yyilning kuni
dkun
whafta kuni
wwDam olish kunlari
hsoat
ndaqiqa
sikkinchi

misol:

  • Qo'shish sanasi("d", 32, "01/01/2015") 32/01/01 sanaga 2015 kun qo'shadi va shu bilan 02/02/2015 sanani qaytaradi.
  • DateAdd(«ww», 36, «01/01/2015») 36/01/01 sanaga 2015 hafta qo'shadi va 09/09/2015 sanani qaytaradi.
DateDiffIkki berilgan sana orasidagi belgilangan vaqt oraliqlari sonini hisoblab chiqadi.

misol:

  • DateDiff(«d», «01/01/2015», «02/02/2015») 01/01/2015 va 02/02/2015 kunlar sonini hisoblab chiqadi, 32 ni qaytaradi.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») 01/01/2015 va 03/03/2016 o'rtasidagi haftalar sonini hisoblab chiqadi, 61 ni qaytaradi.
kunBerilgan sanadagi oy kuniga mos keladigan butun sonni qaytaradi.

misol: Kun (“29/01/2015”) 29 raqamini qaytaradi.

soatBerilgan vaqtdagi soatlar soniga mos keladigan butun sonni qaytaradi.

misol: Soat (“22:45:00”) 22 raqamini qaytaradi.

InStrArgument sifatida butun son va ikkita satrni oladi. Qidiruvni butun son bilan berilgan joydan boshlab, birinchi qatordagi ikkinchi qatorning paydo bo'lish o'rnini qaytaradi.

misol:

  • InStr(1, “Mana qidiruv soʻzi”, “soʻz”) 13 raqamini qaytaradi.
  • InStr(14, “Mana qidiruv soʻzi, mana boshqa qidiruv soʻzi”, “soʻz”) 38 raqamini qaytaradi.

Eslatma: Raqam argumenti ko'rsatilmasligi mumkin, bu holda qidiruv funksiyaning ikkinchi argumentida ko'rsatilgan satrning birinchi belgisidan boshlanadi.

IntBerilgan sonning butun qismini qaytaradi.

misol: Int(5.79) 5-natijani qaytaradi.

Sanaqaytadi chinagar berilgan qiymat sana bo'lsa yoki yolg'on - agar sana bo'lmasa.

misol:

  • Ish sanasi (“01/01/2015”) qaytadi chin;
  • Ish sanasi(100) qaytadi yolg'on.
IsErrorqaytadi chinagar berilgan qiymat xato bo'lsa yoki yolg'on - agar bu xato bo'lmasa.
MissingIxtiyoriy protsedura argumentining nomi funksiyaga argument sifatida uzatiladi. Missing qaytadi chinagar ko'rib chiqilayotgan protsedura argumenti uchun qiymat o'tkazilmagan bo'lsa.
IsNumericqaytadi chinagar berilgan qiymat raqam sifatida ko'rib chiqilishi mumkin bo'lsa, aks holda qaytariladi yolg'on.
chapBerilgan satr boshidan belgilangan belgilar sonini qaytaradi. Funktsiya sintaksisi quyidagicha:

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

qayerda chiziq asl satrdir va Uzunligi - satr boshidan boshlab qaytariladigan belgilar soni.

misol:

  • Chap("abvgdejziklmn", 4) "abcg" qatorini qaytaradi;
  • Chap("abvgdejziklmn", 1) “a” qatorini qaytaradi.
LenSatrdagi belgilar sonini qaytaradi.

misol: Len("abcdej") 7 raqamini qaytaradi.

oyBerilgan sananing oyiga mos keladigan butun sonni qaytaradi.

misol: Oy(«29/01/2015») 1 qiymatini qaytaradi.

O'rtaBerilgan satrning o'rtasidan belgilangan belgilar sonini qaytaradi. Funktsiya sintaksisi:

O'rta(chiziq, start, Uzunligi)

qayerda chiziq asl qatordir start - chiqariladigan satr boshining pozitsiyasi, Uzunligi - ajratib olinadigan belgilar soni.

misol:

  • O'rta("abvgdejziklmn", 4, 5) “qaerda” qatorini qaytaradi;
  • O'rta("abvgdejziklmn", 10, 2) "cl" qatorini qaytaradi.
daqiqaBerilgan vaqtdagi daqiqalar soniga mos keladigan butun sonni qaytaradi. Misol: Daqiqa (“22:45:15”) 45 qiymatini qaytaradi.
hozirJoriy tizim sanasi va vaqtini qaytaradi.
o'ngBerilgan satr oxiridan belgilangan belgilar sonini qaytaradi. Funktsiya sintaksisi:

To'g'ri(chiziq, Uzunligi)

qayerda chiziq asl satrdir va Uzunligi - berilgan satr oxiridan boshlab ajratib olinadigan belgilar soni.

misol:

  • O'ng ("abvgdezhziklmn", 4) "clmn" qatorini qaytaradi;
  • O'ng ("abvgdezhziklmn", 1) “n” qatorini qaytaradi.
ikkinchiBerilgan vaqtdagi soniyalar soniga mos keladigan butun sonni qaytaradi.

misol: Ikkinchi (“22:45:15”) 15 qiymatini qaytaradi.

kvArgumentda berilgan raqamli qiymatning kvadrat ildizini qaytaradi.

misol:

  • Sqr(4) 2 qiymatini qaytaradi;
  • Sqr(16) 4 qiymatini qaytaradi.
vaqtJoriy tizim vaqtini qaytaradi.
UboundBelgilangan massiv o'lchamining yuqori belgisini qaytaradi.

Eslatma: Ko'p o'lchovli massivlar uchun ixtiyoriy argument qaytariladigan o'lchamning indeksi bo'lishi mumkin. Belgilanmagan bo'lsa, standart 1.

yilBerilgan sananing yiliga mos keladigan butun sonni qaytaradi. Misol: Yil (“29/01/2015”) 2015 qiymatini qaytaradi.

Ushbu ro'yxat faqat eng ko'p ishlatiladigan o'rnatilgan Excel Visual Basic funktsiyalarining tanlovini o'z ichiga oladi. Excel makroslarida foydalanish mumkin bo'lgan VBA funktsiyalarining to'liq ro'yxatini Visual Basic Developer Center-da topish mumkin.

Leave a Reply