Операторҳои VBA ва функсияҳои дарунсохт

Изҳороти Excel VBA

Ҳангоми навиштани рамзи VBA дар Excel, дар ҳар як қадам маҷмӯи операторҳои дарунсохт истифода мешаванд. Ин операторҳо ба операторҳои математикӣ, сатрӣ, муқоисавӣ ва мантиқӣ тақсим мешаванд. Минбаъд, мо ҳар як гурӯҳи операторҳоро ба таври муфассал дида мебароем.

Операторҳои математикӣ

Операторҳои асосии математикии 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 or B баробаранд дуруст, ва бармегардад дуруц, агар A и B ҳарду баробаранд дуруц.
неАмалиёти радкунӣ, оператори мантиқӣ НА. Масалан, ифода На А бармегардад дуруст, агар A баробар аст дуруц, ё баргардед дуруц, агар A баробар аст дуруст.

Дар ҷадвали боло ҳамаи операторҳои мантиқӣ дар VBA мавҷуд нестанд. Рӯйхати пурраи операторҳои мантиқиро дар Маркази таҳиягари Visual Basic пайдо кардан мумкин аст.

Функсияҳои дарунсохт

Дар VBA бисёр функсияҳои дарунсохт мавҷуданд, ки онҳоро ҳангоми навиштани код истифода бурдан мумкин аст. Дар зер баъзе аз маъмултарин истифода мешаванд:

функсияЧорабиниҳои
ЭсҚимати мутлақи рақами додашударо бармегардонад.

Намуна:

  • Abs(-20) арзиши 20 -ро бармегардонад;
  • Abs(20) арзиши 20-ро бармегардонад.
ЧрАломати ANSI-ро, ки ба арзиши ададии параметр мувофиқ аст, бармегардонад.

Намуна:

  • Чр(10) танаффуси сатрро бармегардонад;
  • Чр(97) аломат бармегардонад a.
таърихСанаи системаи ҷорӣро бармегардонад.
Санаи ИловаФосилаи вақти муайянро ба санаи додашуда илова мекунад. Синтаксиси функсия:

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

Куҷост баҳс фосила навъи фосилаи вақти ба додашуда иловашударо муайян мекунад таърих ба андозаи дар аргумент нишондодашуда шумора.

Аргентина фосила метавонад яке аз арзишҳои зеринро гирад:

Фосилаарзиши
йййсол
qсемоҳаи
mмоҳ
yрӯзи сол
dрӯз
wрӯзи ҳафта
wwҳафта
hсоат
nлаҳза
sдуюм

Намуна:

  • СанаиAdd(«г», 32, «01/01/2015») ба санаи 32/01/01 2015 рӯз илова мекунад ва ба ин васила санаи 02/02/2015ро бармегардонад.
  • СанаиAdd(«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(5.79) натиҷаи 5-ро бармегардонад.

Исдатбармегардад дурустагар арзиши додашуда сана бошад, ё дуруц – агар сана набошад.

Намуна:

  • Сана ("01/01/2015") бармегардад дуруст;
  • Сана (100) бармегардад дуруц.
Хатобармегардад дурустагар арзиши додашуда хато бошад, ё дуруц - агар ин хато набошад.
БедаракНоми аргументи тартиби ихтиёрӣ ҳамчун аргумент ба функсия интиқол дода мешавад. Бедарак бармегардад дурустагар барои далели расмиёти мавриди баррасӣ қарор дода нашавад.
IsNumericбармегардад дурустагар арзиши додашуда ҳамчун рақам баррасӣ карда шавад, дар акси ҳол бармегардад дуруц.
чапШумораи муайяни аломатҳоро аз аввали сатри додашуда бармегардонад. Синтаксиси функсия чунин аст:

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

ки дар хати сатри аслӣ аст, ва дарозӣ шумораи аломатҳои баргардонидан аз аввали сатр ҳисоб карда мешавад.

Намуна:

  • Чап("abvgdejziklmn", 4) сатри "abcg" -ро бармегардонад;
  • Чап("abvgdejziklmn", 1) сатри "a" -ро бармегардонад.
ЛинШумораи аломатҳоро дар сатр бармегардонад.

Намуна: Лен («abcdej») рақами 7-ро бармегардонад.

моҳадади бутуни мувофиқи моҳи санаи додашударо бармегардонад.

Намуна: Моҳ(«29/01/2015») арзиши 1-ро бармегардонад.

МиёнаШумораи муайяни аломатҳоро аз мобайни сатри додашуда бармегардонад. Синтаксиси функсия:

миёна(хати, Таърихи оѓоз, дарозӣ)

ки дар хати сатри аслӣ аст Таърихи оѓоз – мавқеъи оғози сатри истихроҷшаванда, дарозӣ шумораи аломатҳои истихроҷшаванда аст.

Намуна:

  • Миёна("abvgdejziklmn", 4, 5) сатри "куҷо" -ро бармегардонад;
  • Миёна("abvgdejziklmn", 10, 2) сатри "cl" -ро бармегардонад.
лаҳзаАдади бутунро бар мегардонад, ки ба шумораи дақиқаҳо дар вақти додашуда мувофиқ аст. Мисол: Дақиқа («22:45:15») арзиши 45-ро бармегардонад.
ҳозирСана ва вақти системаи ҷорӣро бармегардонад.
ростШумораи муайяни аломатҳоро аз охири сатри додашуда бармегардонад. Синтаксиси функсия:

рост(хати, дарозӣ)

Дар куҷо хати сатри аслӣ аст, ва дарозӣ шумораи аломатҳо барои истихроҷ аз охири сатри додашуда ҳисоб карда мешавад.

Намуна:

  • Рост («абвгдежзиклмн», 4) сатри "clmn" -ро бармегардонад;
  • Рост («абвгдежзиклмн», 1) сатри "n" -ро бармегардонад.
дуюмАдади бутунро, ки ба шумораи сонияҳо дар вақти додашуда мувофиқ аст, бармегардонад.

Намуна: Дуюм («22:45:15») арзиши 15-ро бармегардонад.

кврРешаи квадратии арзиши ададиро, ки дар аргумент дода шудааст, бармегардонад.

Намуна:

  • Sqr(4) арзиши 2 -ро бармегардонад;
  • Sqr(16) арзиши 4-ро бармегардонад.
TimeВақти ҷории системаро бармегардонад.
БарбодСатҳи болоии андозаи массиви муайяншударо бармегардонад.

Шарҳ: Барои массивҳои бисёрченака далели ихтиёрӣ метавонад шохиси кадом андоза барои баргардонидан бошад. Агар муайян нашуда бошад, пешфарз 1 аст.

соладади бутуни мувофиқи соли санаи додашударо бармегардонад. Мисол: Сол(«29/01/2015») арзиши 2015-ро бармегардонад.

Ин рӯйхат танҳо интихоби функсияҳои дарунсохташудаи Excel Visual Basic-ро дар бар мегирад. Рӯйхати пурраи функсияҳои VBA-ро, ки барои истифода дар макросҳои Excel дастрасанд, дар Маркази таҳиягари Visual Basic пайдо кардан мумкин аст.

Дин ва мазҳаб