VBA ოპერატორები და ჩაშენებული ფუნქციები

Excel VBA განცხადებები

Excel-ში VBA კოდის დაწერისას, ყოველ ნაბიჯზე გამოიყენება ჩაშენებული ოპერატორების ნაკრები. ეს ოპერატორები იყოფა მათემატიკური, სიმებიანი, შედარებისა და ლოგიკური ოპერატორებად. შემდეგი, ჩვენ დეტალურად განვიხილავთ ოპერატორების თითოეულ ჯგუფს.

მათემატიკური ოპერატორები

ძირითადი VBA მათემატიკის ოპერატორები ჩამოთვლილია ქვემოთ მოცემულ ცხრილში.

ცხრილის მარჯვენა სვეტი აჩვენებს ნაგულისხმევი ოპერატორის უპირატესობას ფრჩხილების არარსებობის შემთხვევაში. გამონათქვამზე ფრჩხილების დამატებით, შეგიძლიათ შეცვალოთ VBA განცხადებების შესრულების თანმიმდევრობა, როგორც გსურთ.

ოპერატორიაქციაპრიორიტეტი

(1 - უმაღლესი; 5 - ყველაზე დაბალი)

^ექსპონენტაციის ოპერატორი1
*გამრავლების ოპერატორი2
/განყოფილების ოპერატორი2
გაყოფა ნაშთების გარეშე – აბრუნებს ნაშთის გარეშე ორი რიცხვის გაყოფის შედეგს. Მაგალითად, 74 დააბრუნებს შედეგს 13
სიმამაცეModulo (ნარჩენი) ოპერატორი - აბრუნებს ნარჩენს ორი რიცხვის გაყოფის შემდეგ. Მაგალითად, 8 3-ის წინააღმდეგ დააბრუნებს შედეგს 2.4
+დამატების ოპერატორი5
-გამოკლების ოპერატორი5

სიმებიანი ოპერატორები

ძირითადი სიმებიანი ოპერატორი Excel VBA-ში არის შეერთების ოპერატორი & (შერწყმა):

ოპერატორიაქცია
&შეერთების ოპერატორი. მაგალითად, გამოხატულება "A" და "B" დააბრუნებს შედეგს AB.

შედარების ოპერატორები

შედარების ოპერატორები გამოიყენება ორი რიცხვის ან სტრიქონის შესადარებლად და ტიპის ლოგიკური მნიშვნელობის დასაბრუნებლად ლოგიკური (მართალია თუ მცდარი). Excel VBA შედარების ძირითადი ოპერატორები ჩამოთვლილია ამ ცხრილში:

ოპერატორიაქცია
=თანაბრად
<>Არ უდრის
<ნაკლები
>მეტი
<=ნაკლები ან თანაბარი
>=მეტი ან ტოლი

ლოგიკური ოპერატორები

ლოგიკური ოპერატორები, შედარების ოპერატორების მსგავსად, აბრუნებენ ტიპის ლოგიკურ მნიშვნელობას ლოგიკური (მართალია თუ მცდარი). Excel VBA-ის ძირითადი ლოგიკური ოპერატორები ჩამოთვლილია ქვემოთ მოცემულ ცხრილში:

ოპერატორიაქცია
დაშეერთების ოპერაცია, ლოგიკური ოპერატორი И. მაგალითად, გამოხატულება A და B დაბრუნდება Trueიმ შემთხვევაში, თუ A и B ორივე თანაბარია True, წინააღმდეგ შემთხვევაში დაბრუნდით ყალბი.
Orგამოყოფის ოპერაცია, ლოგიკური ოპერატორი OR. მაგალითად, გამოხატულება A ან B დაბრუნდება Trueიმ შემთხვევაში, თუ A or B თანაბარია Trueდა დაბრუნდება ყალბიიმ შემთხვევაში, თუ A и B ორივე თანაბარია ყალბი.
ნორმალურიუარყოფის ოპერაცია, ლოგიკური ოპერატორი არა. მაგალითად, გამოხატულება არა ა დაბრუნდება Trueიმ შემთხვევაში, თუ A თანაბრად ყალბი, ან დაბრუნება ყალბიიმ შემთხვევაში, თუ A თანაბრად True.

ზემოთ მოცემულ ცხრილში არ არის ჩამოთვლილი VBA-ში ხელმისაწვდომი ყველა ლოგიკური ოპერატორი. ლოგიკური ოპერატორების სრული სია შეგიძლიათ იხილოთ Visual Basic Developer Center-ში.

ჩამონტაჟებული ფუნქციები

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.

ისდატეანაზღაურება Trueთუ მოცემული მნიშვნელობა არის თარიღი, ან ყალბი - თუ თარიღი არ არის.

მაგალითი:

  • IsDate («01/01/2015») ანაზღაურება True;
  • IsDate (100) ანაზღაურება ყალბი.
IsErrorანაზღაურება Trueთუ მოცემული მნიშვნელობა არის შეცდომა, ან ყალბი - თუ ეს არ არის შეცდომა.
დაკარგულიაარჩევითი პროცედურის არგუმენტის სახელი გადაეცემა ფუნქციას არგუმენტად. დაკარგულია ანაზღაურება Trueთუ მოცემული პროცედურის არგუმენტისთვის მნიშვნელობა არ იყო გადაცემული.
არის რიცხვითიანაზღაურება Trueთუ მოცემული მნიშვნელობა შეიძლება ჩაითვალოს რიცხვად, წინააღმდეგ შემთხვევაში ბრუნდება ყალბი.
მარცხენააბრუნებს სიმბოლოების მითითებულ რაოდენობას მოცემული სტრიქონის დასაწყისიდან. ფუნქციის სინტაქსი ასეთია:

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

სადაც ხაზზე არის ორიგინალური სტრიქონი და სიგრძე არის დასაბრუნებელი სიმბოლოების რაოდენობა, სტრიქონის დასაწყისიდან დათვლა.

მაგალითი:

  • მარცხნივ (“abvgdejziklmn”, 4) აბრუნებს სტრიქონს „abcg“;
  • მარცხნივ (“abvgdejziklmn”, 1) აბრუნებს სტრიქონს "a".
Lenაბრუნებს სიმბოლოების რაოდენობას სტრიქონში.

მაგალითი: ლენი ("abcdej") აბრუნებს ნომერს 7.

თვეაბრუნებს მოცემული თარიღის თვის შესაბამის რიცხვს.

მაგალითი: თვე («29/01/2015») აბრუნებს მნიშვნელობას 1.

Midაბრუნებს სიმბოლოების მითითებულ რაოდენობას მოცემული სტრიქონის შუა რიცხვებიდან. ფუნქციის სინტაქსი:

შუა (ხაზზე, დაწყება, სიგრძე)

სადაც ხაზზე არის ორიგინალური სტრიქონი დაწყება - ამოსაღები სტრიქონის დასაწყისის პოზიცია, სიგრძე არის ამოსაღები სიმბოლოების რაოდენობა.

მაგალითი:

  • შუა ("abvgdejziklmn", 4, 5) აბრუნებს სტრიქონს „where“;
  • შუა ("abvgdejziklmn", 10, 2) აბრუნებს სტრიქონს "cl".
Minuteაბრუნებს მთელ რიცხვს, რომელიც შეესაბამება მოცემულ დროს წუთების რაოდენობას. მაგალითი: წუთი («22:45:15») აბრუნებს მნიშვნელობას 45.
არისაბრუნებს სისტემის მიმდინარე თარიღსა და დროს.
მარჯვენააბრუნებს სიმბოლოების მითითებულ რაოდენობას მოცემული სტრიქონის ბოლოდან. ფუნქციის სინტაქსი:

მარჯვენა (ხაზზე, სიგრძე)

სად ხაზზე არის ორიგინალური სტრიქონი და სიგრძე არის ამოსაღები სიმბოლოების რაოდენობა მოცემული სტრიქონის ბოლოდან დათვლა.

მაგალითი:

  • მარჯვენა («abvgdezhziklmn», 4) აბრუნებს სტრიქონს „clmn“;
  • მარჯვენა («abvgdezhziklmn», 1) აბრუნებს სტრიქონს „n“.
მეორეაბრუნებს მთელ რიცხვს, რომელიც შეესაბამება მოცემულ დროს წამების რაოდენობას.

მაგალითი: მეორე («22:45:15») აბრუნებს მნიშვნელობას 15.

კვრაბრუნებს არგუმენტში გადაცემული რიცხვითი მნიშვნელობის კვადრატულ ფესვს.

მაგალითი:

  • Sqr (4) აბრუნებს მნიშვნელობას 2;
  • Sqr (16) აბრუნებს მნიშვნელობას 4.
დროაბრუნებს სისტემის მიმდინარე დროს.
უბრუნდებააბრუნებს მასივის მითითებული განზომილების ზედწერილს.

შენიშვნა: მრავალგანზომილებიანი მასივებისთვის არჩევითი არგუმენტი შეიძლება იყოს იმის მაჩვენებელი, თუ რომელი განზომილება უნდა დაბრუნდეს. თუ არ არის მითითებული, ნაგულისხმევი არის 1.

წელიაბრუნებს მოცემული თარიღის წლის შესაბამის რიცხვს. მაგალითი: წელი («29/01/2015») აბრუნებს მნიშვნელობას 2015.

ეს სია მოიცავს მხოლოდ ყველაზე ხშირად გამოყენებული ჩაშენებული Excel Visual Basic ფუნქციების არჩევანს. Excel-ის მაკროებში გამოსაყენებლად ხელმისაწვდომი VBA ფუნქციების ამომწურავი სია შეგიძლიათ იხილოთ Visual Basic Developer Center-ში.

დატოვე პასუხი