ოპერატორები პირობები VBA. ფილიალის ოპერატორები VBA: მარტივი შერჩევა

მათი თუ ფუნქცია. VBA არის ერთ-ერთი ყველაზე ხშირად გამოყენებული ყველა განცხადება. IF ფუნქცია ამოწმებს, თუ მითითებული მდგომარეობა ხვდება თუ არა. თუ VBA- ში ფუნქციონირებს ოდნავ განსხვავებული გზით, თუ როგორ მუშაობს Excel- ში. In Excel, IF ფუნქცია აკეთებს ორი რამ: ის ამოწმებს თუ არა მოცემული მდგომარეობა შეაფასებს ჭეშმარიტი ან ყალბი და შემდეგ დააბრუნებს ღირებულება გამოიყენოს საფუძველზე შეფასების I. თუ ( მდგომარეობა, devel_value_if_condition_true, revitew_value_if_condition_false). თუმცა, თუ VBA- ში ფუნქცია მხოლოდ პირველ ნაწილს, I.E. შეამოწმეთ, თუ მდგომარეობა აფასებს ჭეშმარიტ ან ცრუ. ნაბიჯები მიიღოს არც სცენარში, როგორც მითითებულია დამატებითი განცხადების გამოყენებით.

გამოყენებით მარტივი თუ ფუნქცია VBA

აქ არის მაგალითი თუ ფუნქცია.. VBA კოდის ეს ნაჭერი უბრალოდ შეამოწმებს თუ არა პირობით განსაზღვრული (I.E. 1\u003e 4) აფასებს ჭეშმარიტ ან ცრუ. ამ შემთხვევაში, ჩვენ მხოლოდ მითითებული ნაბიჯები უნდა დასრულდეს, როდესაც მდგომარეობა აფასებს ჭეშმარიტებას. ამ შემთხვევაში, შედეგი იქნება ეკრანზე ნაჩვენები. თუ ფუნქცია ცრუ შეფასებისას, VBA კოდს არაფერი გააკეთებს.

1
2
3
4
5

Sub if_function ()
თუ 7\u003e 1 შემდეგ
MsgBox "7 არის 1-ზე მეტი"
Დაასრულე თუ
ბოლო sub.

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

თუ ფუნქცია, როგორც წესი, მთავრდება დასასრულს, თუ დეკლარაცია, რომელიც საშუალებას აძლევს განაცხადს იცის, რომ ეს არის ფუნქციის ბოლო ხაზი. ქვემოთ მოცემული არის ოდნავ მოკლე ფორმა IF ფუნქცია. გაითვალისწინეთ, რომ დასასრული, თუ ეს განცხადება აღმოფხვრილი იქნა და კოდის სამი ხაზი გაერთიანდა.

Sub if_function_short ()
თუ 7\u003e 1 მაშინ msgbox "7 არის 1-ზე მეტი"
ბოლო sub.

თუმცა ეს ფორმა უნდა იქნას გამოყენებული მხოლოდ მაშინ, როდესაც არ არის სხვა. ან. სხვა შემთხვევაში. საჭიროა განცხადებები. მოდით შევხედოთ იმას, რასაც ისინი და როგორ დაეხმარება ფუნქციის გაზრდას.

VBA- ში ფუნქციის გამოყენებით

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

იმ შემთხვევაში, თუ ფუნქცია FALSET- ს შეფასებით, სხვა ბლოკში აღნიშნული ნაბიჯები შესრულებულია იმ შედეგებით, რომ "1 ნაკლებია 4-ზე ნაკლები" ეკრანზე. მრავალჯერადი ნაბიჯები შეიძლება დაემატოს ბლოკს, რომ ყველა მათგანს შეასრულოს.

1
2
3
4
5
6
7

Sub if_elseif_function ()
თუ 1\u003e 4 მაშინ

სხვა:
Msgbox "1 არის 4-ზე ნაკლები"
Დაასრულე თუ
ბოლო sub.

გამოყენებით IF ფუნქცია Elsif და სხვა: VBA

სხვა განცხადებას შეუძლია მხარი დაუჭიროს ElseF- ის განცხადებებს. ისინი, როგორც წესი, გამოიყენება კონკრეტული პირობების შესამოწმებლად და თუ ყველა მათგანი ყალბი შეაფასებს, სხვა პირობებში მითითებული ნაბიჯები საბოლოოდ შესრულდება. თუ განცხადება შეამოწმებს მოცემულ მდგომარეობას. თუ ეს მდგომარეობა ცრუ აღმოჩნდება, პირველ ეტაპზე მითითებული პირობები შემოწმდება. თუ ეს ასევე აღმოჩნდება FALSE- ში, მეორე ეტაპზე მითითებული პირობები შემოწმდება და ასე შემდეგ და ა.შ. თუ ყველა პირობებში მითითებული ყველა პირობა, თუ და სხვაგვარად განცხადებები აღმოჩნდება ცრუ, საბოლოო ჯამში, საბოლოო ჯამში აღნიშნული ნაბიჯები: ბლოკი შესრულდება. გახსოვდეთ, რომ თუ არსებობს მრავალჯერადი სხვაგვარად განცხადებები, პირველი, რომელიც აფასებს ჭეშმარიტებას, შესრულდება და დასრულდა, კოდექსის აღსრულება დასრულდება დასასრულს, თუ განცხადება. მაშინაც კი, თუ არსებობს მრავალი სხვა პირობები, რომლებიც შეაფასებენ ჭეშმარიტებას, მხოლოდ პირველი, რომელიც აფასებს ჭეშმარიტებას.

1
2
3
4
5
6
7
8
9
10
11


თუ.< \u003e მაშინ.
Msgbox "1 არის 4-ზე მეტი"
სხვასაც< \u003e მაშინ.

სხვასაც< \u003e მაშინ.

სხვა.< >:

Დაასრულე თუ
ბოლო sub.

ქვემოთ მოცემულ მაგალითში, თუ პირობა შემოწმდება პირველი. მას შემდეგ, რაც შეფასებულია FALSE, პირველი ELSIF მდგომარეობა აფასებს მეორე. მას შემდეგ, რაც არც ერთი მათგანი არ აფასებს ჭეშმარიტებას, სხვა ნაბიჯებს: მდგომარეობა შესრულებულია.

1
2
3
4
5
6
7
8
9
10
11

Sub if_elseif_else_function ()
თუ 1\u003e 4 მაშინ
Msgbox "1 არის 4-ზე მეტი"
სხვა\u003e 4\u003e 4
Msgbox "2 4-ზე მეტია"
სხვა\u003e 4\u003e 4 შემდეგ
Msgbox "3 არის 4-ზე მეტი"
სხვა:
Msgbox "1, 2 ან 3 4-ზე ნაკლებია"
Დაასრულე თუ
ბოლო sub.

სწრაფი წვერი - როგორ უნდა გააკეთოთ თუ სახელმწიფო სწრაფად მუშაობენ

ორივე ცალი კოდი გამოჩნდება მსგავსი. მეორე ფუნქციაში ორი სხვა პირობები შეცვლილია. რომელიც VBA კოდის ერთ-ერთი შემდეგი ნაწილია, ფიქრობთ უფრო სწრაფად?
Დაასრულე თუ
შემდეგი I.
Msgbox ტაიმერი - t
ბოლო sub.

პასუხი არის ის, რომ მეორე უფრო სწრაფად ახორციელებს, ვიდრე პირველი. რატომ? იმის გამო, რომ მეორე უნდა გამოიყენოს განაცხადის გასავლელად კოდექსის ხაზები, სანამ აღმოაჩენს იმ პირობას, რომელიც აფასებს ჭეშმარიტებას. გახსოვდეთ, რომ პირველი სხვა პირობა, რომ თუ აღმოჩნდა ჭეშმარიტი შესრულებული და არცერთი სხვა პირობები არ არის შეფასებული, მაშინაც კი, თუ ისინი ასევე შეაფასებდნენ ჭეშმარიტებას. VBA- ს კოდექსის პირველ ნაწილში, ELSEF ფუნქცია 6-ზე მეტს შეაფასებს, ხოლო მეორე, ხაზი 5 აკმაყოფილებს კრიტერიუმებს. არსებითად, უფრო სავარაუდოა, რომ პირობა არის შეფასებული ჭეშმარიტად, ადრე უნდა განთავსდეს VBA კოდში, ყველა სხვა.

საკონტროლო სტრუქტურები საშუალებას მოგცემთ მართოთ პროგრამის შესრულების თანმიმდევრობა. კონტროლის ოპერატორების გარეშე, ყველა პროგრამის ოპერატორი შესრულდება მარცხნიდან მარჯვნივ და ზედა. თუმცა, ზოგჯერ აუცილებელია არაერთხელ შეასრულოს გარკვეული ინსტრუქციები ავტომატურად, ან გადაჭრის ამოცანას განსხვავებულად დამოკიდებულია ცვლადების ან პარამეტრების ღირებულების შესახებ, რომელიც მითითებულია აღსრულების დროს. ეს ემსახურება როგორც მენეჯმენტი და ციკლები.

VBA მხარს უჭერს შემდეგ გადაწყვეტილებებს დიზაინის დიზაინებს:

თუ. . . მაშინ. . . სხვა.

6.1 მშენებლობა IF. . . მაშინ.

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

თუ მდგომარეობა მაშინ გამოხატავს, თუ პირობები მაშინ გამოხატვის დასასრულის შემთხვევაში

როგორც წესი, მდგომარეობა არის მარტივი შედარება, მაგრამ ეს შეიძლება იყოს რაიმე გამოხატულება გათვლილი ღირებულებით. ეს მნიშვნელობა განიმარტება როგორც FALSE (FALSE), თუ ეს არის ნულოვანი, და ნებისმიერი ნულოვანი ითვლება ჭეშმარიტი (სიმართლე). თუ მდგომარეობა მართალია, მაშინ ყველა გამონათქვამს იდგა შემდეგ ძირითადი სიტყვა მაშინ შესრულდება. ერთი ოპერატორის ჩვეულებრივი აღსრულების მიზნით შეგიძლიათ გამოიყენოთ სინტაქსი ერთი ხაზისა და სინტაქსისთვის რამდენიმე რიგისთვის (ბლოკის დიზაინი).

შემდეგი ორი ოპერატორი ეკვივალენტურია:

თუ შემოწმება.< Now Then anyDate = Now If anyDate < Now Then anyDate = Now End If

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

თუ შემოწმება.< Now Then anyDate = Now Timer.Enabled = False " Запретить таймер. End If

თუ მდგომარეობა ყალბი, მაშინ ოპერატორები მას შემდეგ, რაც გასაღები სიტყვა არ არის შესრულებული, და კონტროლის გადაცემული მომდევნო სიმებიანი (ან სიმებიანი შემდეგ, თუ ოპერატორის ბლოკნოტში).

6.2 თუ დიზაინი. . . მაშინ. . . სხვა.

განსაზღვრავს რამდენიმე ბლოკს ოპერატორების, რომელთაგან ერთი შესრულდება მდგომარეობის მიხედვით:

თუ მდგომარეობა 1 მაშინ გამოხატვის 1 ELSEIF მდგომარეობა 2 მაშინ გამოხატვის 2. . . სხვა გამონათქვამები

როდესაც შესრულებული, მდგომარეობა 1 პირველი შემოწმებულია. თუ ეს ყალბია, VBA ამოწმებს შემდეგ მდგომარეობაში 2 და ა.შ., სანამ არ აღმოაჩენს ჭეშმარიტ მდგომარეობას. ნაპოვნია, VBA ასრულებს ოპერატორების შესაბამის ბლოკს და შემდეგ ინსტრუქციის კონტროლს გადასცემს დასრულების შემდეგ დასრულების შემდეგ. ამ დიზაინში, თქვენ შეგიძლიათ სხვა სხვა ოპერატორის ბლოკი, რომელიც VBA ასრულებს, თუ არც ერთი პირობა არ შესრულდება.

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

Sub Aburity1 () dim როგორც ერთი, b როგორც ერთი, x როგორც ერთი dim z როგორც ორმაგი ზარის წაკითხვის ("A1", A) Call Read ("B1", B) Let X \u003d CSNG (Inputbox ("Enter X", "Entering Data", 0)) თუ x<= a Then z = Sin(x) ElseIf x >\u003d B შემდეგ z \u003d tan (x) სხვა: z \u003d cos (x) დასასრული თუ დარეკეთ ("C1", z) ბოლო sub

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

6.3 აირჩიეთ საქმე დიზაინი

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

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

აირჩიეთ Case Verement_menue]]. . . ] დასასრული აირჩიეთ

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

განვიხილოთ ფუნქციის გაანგარიშების მაგალითი

Sub მაგალითი () CONST PI2 \u003d 1.57 DIM X როგორც ერთი Dim Z როგორც ორმაგი ნება X \u003d CSNG (Inputbox ("Enter X", "მონაცემები შესვლის", 0)) აირჩიეთ საქმე X Case -pi2 Z \u003d SIN (x) z \u003d cos (x) შემთხვევაში pi2 z \u003d tan (x) შემთხვევაში სხვა msgbox "არასწორი წყარო მონაცემები!" გასვლა Sub End Select Call Out ("D1", Z) ბოლო sub

გაითვალისწინეთ, რომ SELECT Case Design ითვლის მხოლოდ ერთხელ შესასვლელთან ერთად, და სტრუქტურაში. . . მაშინ. . . დანარჩენი გამოითვლება სხვადასხვა გამონათქვამები თითოეული ელის ოპერატორისთვის. თუ დიზაინი. . . მაშინ. . . სხვა შეიძლება შეიცვალოს შერჩეული შემთხვევაში დიზაინი მხოლოდ იმ შემთხვევაში, თუ განცხადება და თითოეული თავი განცხადების გამოთვლა იგივე გამოხატულება.

პროცედურები და ფუნქციები, რომლებიც VBA- ს ასრულებს ხაზოვან ბრძანებაში - VBA იწყება პირველი ოპერატორის კოდექსის აღსრულება პროცედურის (ფუნქციების) ხაზის გამოცხადების შემდეგ და განაგრძობს თითოეული ოპერატორის ხაზის შესრულებას ბოლომდე ქვეპუნქტის (ბოლო ფუნქცია) მიღწეული. ასეთი წრფივი ალგორითმი შეიძლება წარედგინოს შემდეგ FlowChart:

თუმცა, საკმაოდ ხშირად სიტუაციებია, როდესაც აუცილებელია, რომ პროცედურები ან ფუნქციები სხვადასხვა პირობებში სხვადასხვა ქმედებებზე ასრულებს. ასეთი სიტუაცია ილუსტრირებულია შემდეგი flowcharts:



ოპერატორები, რომლებიც ასრულებენ პროგრამის ფილიალს ნებისმიერი პირობების საფუძველზე პირობითი გარდამავალი ოპერატორები.

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


სინტაქსი თუ .. ეს.

ვარიანტი 1:
თუ. მდგომარეობა. მაშინ. განცხადებები

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


მდგომარეობა. - ლოგიკური გამოხატვა;

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


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

სამუშაოების ლოგიკა ასეთია: VBA- ს პირველი შეაფასებს მდგომარეობის განყოფილებაში წარმოდგენილი ლოგიკური გამოხატვა; თუ ეს ლოგიკური გამოხატულებაა, შესრულებულია განცხადების განყოფილების განცხადება (ოპერატორები); VBA შემდეგ განაგრძობს მომდევნო ხაზის კოდექსის აღსრულებას, თუ არ არის (ვარიანტი 1) ან საკვანძო სიტყვების დასასრულს, თუ (ვარიანტი 2). თუ ლოგიკური გამოხატულებაა ყალბი, მაშინ განცხადებების განყოფილების ოპერატორები გამოტოვებენ და ამ სექციის მომდევნო კოდექსი შესრულებულია.


ქვემოთ არის წერილობითი პირველი ვერსიის ელემენტარული გამოყენების ჩამონათვალი:






და ახლა - მეორე ვარიანტი:



გთხოვთ გაითვალისწინოთ, რომ განცხადებების განყოფილების განცხადებები იწერება საპენსიო (tab) გამოყენებით. ეს არის მნიშვნელოვანი წერტილი. თქვენ დაუყოვნებლივ უნდა ასწავლონ პროგრამის კოდის ასეთ დიზაინს - ის ზრდის მის წაკითხვას და ხელს უწყობს შეცდომების ძიებას.


სინტაქსი თუ...

ვარიანტი 1:
თუ. მდგომარეობა. მაშინ. განცხადებები სხვა. Elsestatements.

ვარიანტი 2:
თუ. მდგომარეობა. მაშინ.
განცხადებები
სხვა.
Elsestatements.
Დაასრულე თუ


მდგომარეობა. - ლოგიკური გამოხატვა;

განცხადებები, elsestatements - ერთი, რამდენიმე ან არა ერთი VBA ოპერატორი.


ანალოგიით, თუ.

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

სამუშაოების ლოგიკა ასეთია: VBA- ს პირველი შეაფასებს მდგომარეობის განყოფილებაში წარმოდგენილი ლოგიკური გამოხატვა; თუ ეს ლოგიკური გამოხატულებაა, შესრულებულია განცხადების განყოფილების განცხადება (ოპერატორები); VBA შემდეგ განაგრძობს მომდევნო ხაზის კოდექსის აღსრულებას, თუ არ არის (ვარიანტი 1) ან საკვანძო სიტყვების დასასრულს, თუ (ვარიანტი 2). თუ ლოგიკური გამოხატულებაა ყალბი, მაშინ ხორციელდება elsestatements სექციის ოპერატორები.

ძირითადი ენის ოპერატორები VBA

კომენტარები (0)

3.1. ოპერატორების ჩაწერის წესები

ოპერატორების ჩაწერისას, თქვენ უნდა დაიცვას შემდეგი წესები:

ყოველი ახალი ოპერატორი ახალი ხაზიდან არის დაწერილი.

მრავალჯერადი ოპერატორების ჩაწერა იმავე ხაზზე, ისინი გამოყოფილია მსხვილი ნაწლავის მიერ (:).

თუ ოპერატორი არ შეესაბამება ერთ ხაზს, მაშინ უნდა დააინსტალიროთ სივრცე და ხაზგასმა (_) ნიშანი დასასრულს სტრიქონის ბოლოს, შემდეგ კი გააგრძელეთ არასაკმარისი ნაწილი მომდევნო ხაზზე.

3.2. აპლიკაციის ოპერატორი

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

Name_name= გამოთქმა

პირველი, გამოხატვის მარჯვენა მხარეს გამოითვლება, შემდეგ კი შედეგს ენიჭება ცვლადი მარცხენა მხარეს.

მაგალითად. ჩანაწერი დავალება ოპერატორს შემდეგ მათემატიკურ გამოხატვას:

VVA- ზე, ეს გამოთქმა შეიძლება დაწერილი იყოს შემდეგი ოპერატორის სახით:

Y \u003d a ^ a ^ (1/3) + (a ^ 2 + exp (-b) / (sin (a) ^ 2-log (b))

3 .3. I / O განცხადებები

3 .3.1. ოპერატორი და MSGBOX ფუნქცია

ტელეფონისტი ქალი Msgbox. გამორიცხავს ინფორმაციას დიალოგურ ფანჯარაში და ადგენს ღილაკს ლოდინის ღილაკზე დაჭერით.

მას აქვს შემდეგი სინტაქსი:

Msgbox. შეტყობინება [, ღილაკები] [, სათაური]

არგუმენტები:

წერილი - სავალდებულო არგუმენტი, რომელიც განსაზღვრავს ნაჩვენები საინფორმაციო გზავნილს ფანჯარაში. შეიძლება შედგებოდეს რამდენიმე ტექსტური სტრიქონებისგან & . გამოიყენეთ ამ არგუმენტში Chr (13) მივყავართ ახალი სტრიქონის გადასასვლელად ინფორმაციის გამომუშავებაში.

ღილაკები - ამ არგუმენტის ღირებულება განსაზღვრავს ფანჯარაში გამოჩნდება ღილაკების კატეგორიებს. არგუმენტის ღირებულებიდან, დამოკიდებული ღილაკებიც, თუ ფანჯარაში ნებისმიერი ხატი გამოჩნდება. თუ ეს არ არის მითითებული, რომელი ღილაკები უნდა იყოს ნაჩვენები გაგზავნა ფანჯარაში, ნაგულისხმევი მნიშვნელობა შეესაბამება OK ღილაკს. Tab. 3.1 შეტყობინების ფანჯარაში ღილაკების და ხატები შესაძლო კომბინაციები.

ტიტული - განსაზღვრავს ფანჯრის სათაურს.

ფუნქციონირება Msgbox. აბრუნებს რიცხვის ტიპის ღირებულებას, რომელიც მიუთითებს, თუ რომელი ღილაკი დაჭერილია დიალოგურ ფანჯარაში.

ცხრილი 3.1. ცვლადი ღილაკის დასაშვები ღირებულებები

წარმოდგენა

არგუმენტი

ღილაკი OK.

OK ღილაკები და გაუქმება

ღილაკები და არა

ღილაკები დიახ, არა და გაუქმება

Stop ღილაკები, გაიმეორეთ და იგნორირება

Vbaborttretryryignore.

ღილაკები გაიმეორეთ და გააუქმეთ.

ინფორმაცია ნიშანი

Კითხვის ნიშანი

Exclamation ნიშნის

მაგალითად. მიმდინარე თარიღის ჩვენება.

Msgbox "დღეს კალენდარში" და თარიღი, "ყურადღება"

შედეგად, გამოჩნდება შემდეგი ფანჯარა (ნახ. 3.1).

OK ღილაკზე დაჭერით, გაგზავნა ფანჯრის დახურვა და პროგრამის აღსრულება განახლდება ოპერატორისგან პირდაპირ MsgBox Call- ის უკან.

3.3.2. ფუნქციონირება Inputbox.

ფუნქციონირება Inputbox.შეყვანის ფანჯრის გამოყენებით ცვლადების ღირებულებები და აქვს შემდეგი სინტაქსი:

Name_name = Inputbox (შეტყობინება [სათაური] )

არგუმენტები:

წერილი - სავალდებულო არგუმენტი. განსაზღვრავს საინფორმაციო გზავნილს ფანჯარაში, როგორც წესი, ახსენებს ინსტალაციის მნიშვნელობას

ტიტული - განსაზღვრავს ფანჯრის სათაურს.

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

ამისათვის თქვენ შეგიძლიათ გამოიყენოთ შემდეგი ოპერატორი:

N \u003d inputbox ("enter n", "შეიყვანეთ წყარო მონაცემები", 10)

შედეგად, გამოჩნდება შემდეგი ფანჯარა ცვლადი N- ის ღირებულების შესასვლელად (ნახ. 3.2).

თუ ნაგულისხმევი მნიშვნელობა შესაფერისია მომხმარებლისთვის, OK ღილაკზე დაჭერით, შეყვანის ფანჯრის დახურვა, ცვლადი n ენიჭება ღირებულების 10 ღირებულებას და პროგრამას განახორციელებს ოპერატორისგან პირდაპირ ზარის უკან Inputbox..

თუ ნაგულისხმევი მნიშვნელობა არ არის შესაფერისი მომხმარებლისთვის, სანამ OK ღილაკზე დაჭერით, თქვენ უნდა შეიტანოთ სასურველი ღირებულება ცვლადი ნ.

3 . პირობითი ოპერატორი

VBA- ს ფილიალის კომპიუტერული პროცესის განხორციელება, ოპერატორი გამოიყენება თუ ... მაშინ ... სხვა, რომელიც წარმოადგენს ტესტირების პირობების უმარტივეს ფორმას. მას აქვს შემდეგი სინტაქსი:

თუ.პირობა მაშინ.ოპერატორი_1 ე.lse.ოპერატორი_2.

ოპერატორი_1 შესრულებული თუ პირობაჭეშმარიტი, სხვაგვარად შესრულებული ოპერატორი_2.. ამ შემთხვევაში, თუ ... მაშინ ... სხვა არის დაწერილი ერთ ხაზზე.

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

მაგიდა3 .2. ლოგიკური ურთიერთობები

Ოპერაცია

სახელი

გამოთქმა

შედეგი

მართალია, თუ ისევე როგორც შემოსული

მართალია, თუ არ არის ტოლი

მართალია, თუ და უფრო მეტი

მართალია, თუ ნაკლებია

მეტი ან თანაბარი

მართალია, თუ მეტი ან ტოლია

ნაკლები ან თანაბარი

მართალია, თუ ნაკლები ან ტოლია

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

მაგიდა3 .3. ლოგიკური ოპერაციები

სახელი

გამოთქმა

შედეგი

ლოგიკური
უარყოფა

ლოგიკური I.

ლოგიკური ან

პირობითი ოპერატორი დასაშვებია ოპერატორის ნაცვლად ოპერატორის ბლოკის გამოყენება. ამ შემთხვევაში, პირობითი ოპერატორის ფორმა აქვს:

თუ.პირობა მაშინ.

ბლოკის ცნობები

ბლოკის ცნობები _2.

დასასრული I.ვ.

რამდენიმე პირობა შეიძლება შემოწმდეს პირობითი განცხადებაში. ამ შემთხვევაში, პირობითი ოპერატორის ფორმა აქვს:

თუ.მდგომარეობა _1 მაშინ.

ბლოკის ცნობები

სხვასაცმდგომარეობა _2.მაშინ.

ბლოკის ცნობები _2.

სხვა.

Დასასრული.თუ.

მაგალითი 1.. დაწერეთ პროგრამის ნაწილი ალგორითმისთვის. 3.3.

მაგალითი 2. დაწერეთ პროგრამის ნაწილი ალგორითმისთვის. 3.4.

3.5. აირჩიეთ შემთხვევის შერჩევის ოპერატორი

SELECT Case Operator არის მოსახერხებელი, როდესაც დამოკიდებულია გარკვეული გამოხატვის ღირებულების დასაშვები ღირებულებების საბოლოო კომპლექტი, აუცილებელია სხვადასხვა ნაბიჯების შესრულება. იგი ასევე ვრცელდება პირობითი ოპერატორების, მაგრამ განსხვავებული სახე:

აირჩიეთ საქმე. შემოწმებული

საქმე Values_1

ოპერატორები

საქმე ღირებულებები_ 2

ოპერატორები_ 2

. . .

საქმე Values_n.

ოპერატორები_N.

[ საქმესხვა.

წინააღმდეგ შემთხვევაში_ ოპერატორები]

დასრულდება აირჩიეთ.

შემოწმებული შეიძლება ჰქონდეს ნებისმიერი სკალარული ტიპი, გარდა რეალური. ღირებულებები შედგება თითოეული სხვა მძიმით გამოყოფილი ღირებულებების ან მერყეობის თვითნებური რაოდენობით.

Ტიპი ღირებულებები უნდა ემთხვეოდეს ტიპის შემოწმებული.

პირველი გაანგარიშება შემოწმებული. თუ მისი ღირებულება ემთხვევა ერთ-ერთ ღირებულებას Values_i., შემდეგ აწარმოებს ოპერატორები. დასრულდება აირჩიეთ.. თუ მისი ღირებულება არ შეესაბამება რომელიმე ღირებულებებს Values_i., შემდეგ აწარმოებს წინააღმდეგ შემთხვევაში კონტროლი გადაეცემა ოპერატორს დასრულდება აირჩიეთ.

Მაგალითად. დაწერეთ პროგრამის ნაწილი ალგორითმისთვის. 3.5, ცვლადი S- ის ღირებულების განსაზღვრა, რაც დამოკიდებულია ცვლადი ნ.

3.6. ციკლის ოპერატორები

ციკლური გამოთვლითი პროცესის განხორციელება, I.E., ერთი ან მეტი ოპერატორის მრავალჯერადი ასრულებს ციკლის ოპერატორი ... შემდეგირომელსაც აქვს შემდეგი სინტაქსი:

-თვისCounter \u003d nach_new თ.ო.Con_ ნაბიჯი.ნაბიჯით სვლა

ბლოკის რეფერერები

ბლოკის რეფერერები

შემდეგდახლი

ციკლი ... შემდეგი ბრუნდება ცვლადი ღირებულებები დახლირომელიც არის ციკლის პარამეტრი საწყისი საწყისი ბოლომდე ღირებულების მითითებულ ცვლილება ნაბიჯი. ეს უზრუნველყოფს ციკლის სხეულის ოპერატორების ბლოკის აღსრულებას ყოველ ახალ მეტრზე. Თუ ნაბიჯი.ნაბიჯით სვლაარ არსებობს დიზაინი, მაშინ ნაგულისხმევი ითვლება, რომ ნაბიჯი არის 1. ოპერატორი გასასვლელი.ციკლის ოპერატორის გასასვლელად შეგიძლიათ დახლიმიაღწევს ბოლო მნიშვნელობას. *

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

თითოეული.ელემენტი შემოსულიდაჯგუფება

ბლოკი_ ოპერატორები

ბლოკის რეფერენტები

შემდეგელემენტი

VBA- ში, სხვა ციკლის ოპერატორები გამოიყენება ციკლის ორგანიზებაზე, რომლებიც განმეორებითი განმეორებითი თარიღით არიან:

ციკლები წინაპირობებით - Კეთება.პერიოდიმარყუჟი.,

Კეთება.Მანამდემარყუჟი.;

ციკლები postcondition - Კეთება.მარყუჟი.პერიოდი,

Კეთება.მარყუჟი.Მანამდე.

ქვემოთ არის ამ ციკლის ოპერატორების სინტაქსი:

"ციკლი წინაპირობებითᲙეთება. პერიოდი მარყუჟი.

ხოლოპირობა

ბლოკის რეფერერები

ბლოკის რეფერერები

"ციკლი წინაპირობებითᲙეთება. Მანამდე მარყუჟი.

Კეთება.Მანამდეპირობა

ბლოკის რეფერერები

ბლოკის რეფერერები

"ციკლი postconditionᲙეთება. Loop ხოლო

ბლოკი_ ოპერატორები

ბლოკის რეფერენტები

Loop ხოლოპირობა

"ციკლი postconditionᲙეთება. მარყუჟამდე.

ბლოკი_ ოპერატორები

ბლოკის რეფერენტები

მარყუჟამდე.პირობა

ტელეფონისტი ქალი Კეთება.W.hile ... loop.უზრუნველყოფს ოპერატორის ერთეულის მრავალჯერადი განმეორებას პირობა შეესაბამება ოპერატორს



სხვა სიახლეები

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

VBA- ში პირობების შემოწმება, თუ ... მაშინ ... სხვა, nested სტრუქტურები თუ

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

ტელეფონისტი ქალი თუ ... მაშინ.... სხვაგვარად არის ყველაზე პოპულარული პროგრამისტები. სავსე მისი სინტაქსი ასე გამოიყურება:

თუ მდგომარეობა მაშინ.
გუნდები

სადაც:

  • პირობა - გამოხატულება, რომელიც სიმართლისთვის არის დამოწმებული. თუ ეს მართალია, ბრძანებები არის გაშვებული 1, თუ ყალბი - ბრძანებები 2;
  • მდგომარეობა - დამატებითი პირობები, რომლებიც ასევე შეიძლება შემოწმდეს. იმ შემთხვევაში, თუ ისინი შესრულებულია (პირობების გამოხატვა სიმართლეა), ბრძანებები შესრულებულია.

თუ ... მაშინ ... სხვაგან ვრცელდება:

  • როდესაც თქვენ უნდა შეამოწმოთ ერთი პირობით და შესაბამისობის შემთხვევაში, გარკვეული ქმედებების განხორციელების შემთხვევაში:

თუ ntemperature.< 10 Then

Msgbox "კაბა ქურთუკი"

  • როდესაც თქვენ უნდა გავაკეთოთ, როგორც წინა მაგალითში, და შეუსაბამობის შემთხვევაში, შეასრულოს სხვა ქმედება:

თუ ntemperature.< 10 Then

Msgbox "კაბა ქურთუკი"

Msgbox "Dress on windbreaker"

  • როდესაც თქვენ უნდა შეამოწმოთ მრავალჯერადი პირობების დაცვა (ყურადღება მიაქციეთ ლოგიკური ოპერატორების გამოყენებას):

თუ (ntemperature.< 10) And (bRain = True) Then

Msgbox "ჩაცმის ქურთუკი და ქოლგის აღება"

  • როდესაც პირველად შეამოწმეთ FALSE, თქვენ უნდა შეამოწმოთ მრავალი სხვა პირობა (ამ შემთხვევაში მოსახერხებელია ELSEF- ის გამოყენება):

თუ (bigoincar \u003d true) მაშინ

Msgbox "კაბა მანქანა"

Elseif ntemperature.< 10 Then

Msgbox "კაბა ქურთუკი"

Msgbox "შეიძლება წავიდეს პერანგი"

ამ მაგალითში, რადგან Bigoincar არის ცვლადი ტიპის ლოგიკური და თავად იღებს ჭეშმარიტი ან ცრუ ღირებულებები, პირველი ხაზი შეიძლება ასე გამოიყურებოდეს:

თუ Bigoincar მაშინ ...

ზოგიერთი შენიშვნა გამოყენების შემთხვევაში ... მაშინ ... სხვაგან:

  • pIN საკვანძო სიტყვა უნდა იყოს იმავე ხაზში, თუ და მდგომარეობა. თუ თქვენ მიიღებთ მას მომდევნო ხაზს, შეცდომის შეტყობინება გაიცემა;
  • თუ თქვენ მოათავსებთ ბრძანებას, რომლითაც გსურთ შეასრულოს დამოწმებული მდგომარეობის ჭეშმარიტება, იმავე ხაზით, თუ და შემდეგ, მაშინ დასრულდება, თუ ვერ წერენ:

თუ ntemperature.< 10 Then MsgBox "Одеть куртку"

  • თუ თქვენ იყენებთ მრავალჯერადი ბრძანებებს ან სხვაგვარად ბრძანებებს, დასასრულს თუ დასასრულს თქვენ უნდა დაწეროთ არაფერი - წინააღმდეგ შემთხვევაში იქნება სინტაქსური შეცდომა.
  • თუ ... მაშინ გამოხატულება, მკაცრად რეკომენდირებულია ინტენსივების გამოყენება ბლოკირების ბლოკად. წინააღმდეგ შემთხვევაში, წაიკითხეთ კოდი რთული იქნება.
  • თუ ... მაშინ შეიძლება ჩაიწეროს ერთმანეთს:

თუ myvar \u003d 5 მაშინ

Msgbox "myvar \u003d 5"

თუ myvar \u003d 10 მაშინ

Msgbox "myvar \u003d 10"