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

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

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

Dim VariableName As VariableType

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

Მაგალითად:
Dim a As Byte
გამოცხადებულია ცვლადი ტიპი ბაიტები. ასეთ ცვლადში შეგიძლიათ ჩასვათ რიცხვი 0-დან 255-მდე. როცა ცდილობთ ცვლადის მინიჭებას მეტიმოხდება შეცდომა და ნომერი, რომელსაც აქვს წილადი ნაწილიდამრგვალდება.

Dim b როგორც სიმებიანი
გამოცხადებულია ცვლადი ტიპი სიმებიანი. ეს ცვლადი შეიცავს ტექსტს (თუმცა ტექსტი შეიძლება იყოს რიცხვები, მაგრამ 2-ს პლუს 3 არის 23).

მრავალი ცვლადის გამოცხადებისას, შეგიძლიათ მათი გამოყენებით ჩამოთვლა მძიმე:
Dim a As Byte, b As String

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

Მაგალითად:
Dim a As Byte
a=5

Visual Basic ასევე გაძლევთ საშუალებას შექმნათ თქვენი საკუთარი მონაცემთა ტიპები. ეს ფუნქცია მნიშვნელოვანია, როდესაც საქმე გაქვთ მონაცემთა ელემენტების ჯგუფთან, რომლებიც დაკავშირებულია ერთმანეთთან, მაგრამ მიეკუთვნება მონაცემთა სხვადასხვა კატეგორიას. თქვენ შეგიძლიათ შექმნათ თქვენი საკუთარი ტიპები (UDT - მომხმარებლის მიერ განსაზღვრული ტიპი) Structure განაცხადით და გამოაცხადოთ ამ ახალ ტიპებთან დაკავშირებული ცვლადები Dim განაცხადით. მაგრამ გახსოვდეთ, რომ სტრუქტურის განცხადება არ შეიძლება განთავსდეს მოვლენის პროცედურაში - ის უნდა განთავსდეს ფორმის კოდის ზედა ნაწილში სხვა ცვლადის დეკლარაციებთან ერთად, ან მოდულის კოდში.

მაგალითად, შემდეგი დეკლარაცია ქმნის პერსონალურ მონაცემთა ტიპს სახელად Employee, რომელსაც შეუძლია შეინახოს მოცემული თანამშრომლის სახელები, დაბადების თარიღი და დასაქმების თარიღი:

სტრუქტურა Employee Dim Name As String Dim DateOfBirth as Date Dim HireDate as Date End Structure

მას შემდეგ რაც შეიქმნება მონაცემთა ტიპი, შეგიძლიათ გამოიყენოთ იგი ფორმის კოდში ან მოდულის ღონისძიების პროცედურებში. შემდეგი განცხადებები იყენებს ახალ თანამშრომლის ტიპს. პირველი განცხადება ქმნის ცვლადს სახელწოდებით ProductManager, ტიპის Employee, ხოლო მეორე განცხადება აყენებს ამ ცვლადის Name კომპონენტს სახელად "Eric Cody":

Dim ProductManager As Employee ProductManager.Name = "Eric Cody"

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

მუდმივები: ცვლადები, რომლებიც არ იცვლება

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

Const Pi As Double = 3.14159265

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

საჯარო Const Pi როგორც ორმაგი = 3.14159265

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

კონსტანტის გამოყენება მოვლენის პროცედურაში
  1. ფაილი მენიუდან აირჩიეთ გახსნა და შემდეგ დააწკაპუნეთ პროექტი. გამოჩნდება ღია პროექტის დიალოგური ფანჯარა.
  2. გახსენით Constant Tester პროექტი, რომელიც მდებარეობს საქაღალდეში c:\vbnet03sbs\ch.5\მუდმივი ტესტერი.
  3. თუ პროექტის ფორმა არ არის ნაჩვენები, დააწკაპუნეთ Form1.vb Solution Explorer-ში და შემდეგ დააჭირეთ ღილაკს View Designer. ფორმა გამოჩნდება Windows Forms Designer-ში მუდმივი ტესტი. Constant Tester არის პროგრამის "ჩონჩხი". მომხმარებლის ინტერფეისი დასრულებულია, მაგრამ თქვენ უნდა შეიყვანოთ პროგრამის კოდი.
  4. ორჯერ დააწკაპუნეთ ღილაკზე აჩვენე მუდმივიფორმები. ღონისძიების Button1_Click პროცედურა გამოჩნდება კოდების რედაქტორში.
  5. შეიყვანეთ შემდეგი განცხადებები Button1_Click ღონისძიების პროცედურაში:

    Const Pi As Double = 3.14159265 Label1.Text = Pi

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

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

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

    პროგრამის შესაჩერებლად დააჭირეთ ღილაკს გასვლა.

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

პროგრამირების ენა VISUAL BASIC. მონაცემთა ტიპები. ცვლადების, მუდმივების, მასივების აღწერა

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

შემდეგი ტიპის მონაცემების შენახვა და დამუშავება შესაძლებელია Visual Basic ენაზე.

ბაიტი არის არაუარყოფითი მთელი რიცხვი. იღებს მნიშვნელობებს 0-დან 255-მდე, იკავებს 1 ბაიტს.

ლოგიკური - ლოგიკური მნიშვნელობა. იღებს ორი მნიშვნელობიდან ერთს True და False, იკავებს 2 ბაიტს.

ვალუტა - ათობითი გაფართოებული ნომერი. გამოიყენება ფულადი გამოთვლების განსახორციელებლად ათობითი ადგილების ფიქსირებული რაოდენობით, იკავებს 8 ბაიტს. (ათწილადი წერტილიდან მარცხნივ 15 ციფრი, ხოლო ათობითი წერტილიდან მარჯვნივ 4 ციფრი).

თარიღი - თარიღი. გამოიყენება თარიღების/დროების შესანახად, იკავებს 8 ბაიტს.

ორმაგი - ორმაგი სიზუსტის ათობითი რიცხვი, იკავებს 8 ბაიტს.

მთელი რიცხვი - მოკლე მთელი რიცხვი, იკავებს 2 ბაიტს. გამოიყენება -32768-დან 32767-მდე მთელი რიცხვების წარმოსადგენად.

Long - გრძელი მთელი რიცხვი, იკავებს 4 ბაიტს. გამოიყენება მთელი რიცხვების წარმოსადგენად დიაპაზონში -2147483648-დან 2147483647-მდე.

ნორმალური სიზუსტის ერთ – ათობითი რიცხვი, იკავებს 4 ბაიტს. გამოიყენება უარყოფითი რიცხვების წარმოსაჩენად -3.402823E 38-დან -1.401298E-45-მდე და დადებითი რიცხვების წარმოსაჩენად 1.401298E-45-დან 3.402823E 38-მდე დიაპაზონში.

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

სტრიქონი * სიგრძე - მუდმივი სიგრძის სტრიქონი.

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

ობიექტი - ობიექტი. გამოიყენება მხოლოდ ობიექტების მითითების შესანახად, იკავებს 4 ბაიტს.

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

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

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

სახელის პირველი სიმბოლო უნდა იყოს ასო. დარჩენილი სიმბოლოები არის ასოები და რიცხვები (დიდი და პატარა ასოები განსხვავებულია). შეგიძლიათ გამოიყენოთ სიმბოლო "_";

  • სიმბოლო "." არ შეიძლება გამოყენებულ იქნას სახელში;
  • სახელში სიმბოლოების რაოდენობა არ უნდა აღემატებოდეს 255-ს;
  • ცვლადის სახელი არ უნდა ემთხვეოდეს ენის რეზერვებულ (მომსახურების) სიტყვებს.

Visual Basic-ს აქვს შემდეგი ფუნქციები. ცვლადი ტიპის დეკლარაციები.

  1. ცვლადი შეიძლება საერთოდ არ იყოს გამოცხადებული. ამ შემთხვევაში ნაგულისხმევი ტიპი იქნება Variant. თუმცა, ამან შეიძლება გამოიწვიოს პროგრამის ნელი, არაეფექტური მუშაობა და მეხსიერების ფუჭად გამოყენება.
  2. ცვლადი შეიძლება გამოცხადდეს ცალსახად ცვლადის განმარტების განცხადების გამოყენებით:Dim VariableName [ As VariableType],
    მაგალითად: Dim d as Long.
    ცვლადების ყოველთვის ცალსახად გამოცხადებისთვის, გამოიყენეთ Option Explicit ვარიანტი არსებული ფორმების, მოდულების ან კლასების განყოფილებაში (ზოგადი) (განცხადებები). ამ პარამეტრის დაყენების შემდეგ, Visual Basic მოითხოვს ცვლადების მკაფიო დეკლარაციას და თუ გამოუცხადებელი ცვლადი გამოიყენება კოდში, ის შექმნის შეცდომის შეტყობინებას.
  3. ცვლადი შეიძლება გამოცხადდეს ირიბად:

    ტიპის დეკლარაციის ოპერატორით:

DefType საწყისი ასო [- ბოლო ასო];

OrgType-ის ნაცვლად, მითითებულია ტიპის აღმნიშვნელი ერთ-ერთი საკვანძო სიტყვა:

Deflnt (ტიპისთვის მთელი რიცხვი);
- DefLng (გრძელი ტიპისთვის);
- DefSng (Single ტიპისთვის);
- DefStr (სტრინგის ტიპისთვის) და ასე შემდეგ;

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

- % - მთელი ტიპი;
- & - გრძელი ტიპი;
- ! - ერთი ტიპის;
- # - ორმაგი ტიპი;
- $ - სტრიქონის ტიპი;
- @ - ვალუტის ტიპი.

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

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

Const ConstantName = Value, მაგალითად: Const Pi = 3.14159

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

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

მასივის განმარტება ხორციელდება ოპერატორის მიერ:

Dim VariableName([LowerLimitTo]
Ზედა ზღვარი) .

მაგალითად: Dim b (a-დან 15-მდე) - b მასივის დეკლარაცია, რომელიც შედგება 15 ელემენტისგან.

Visual Basic, ნაგულისხმევად, ინდექსებს მასივის ელემენტებს, დაწყებული ნულიდან, ანუ ინდექსი 0 მიუთითებს მასივის პირველ ელემენტზე, ინდექსი 1 მეორეზე და ა.შ. Option Base 1 განცხადება საშუალებას გაძლევთ მიუთითოთ მასივის ინდექსირება 1-დან. ეს განცხადება უნდა იყოს (General) (Declarations) განყოფილებაში.

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

ლაბორატორიული სამუშაო ნომერი 3. VB მონაცემთა ტიპების მიმოხილვა. ცვლადები და

მუდმივები. მონაცემთა ტიპის თავსებადობა. დავალების ოპერატორი. არითმეტიკული და ლოგიკური ოპერატორები. ჩამონტაჟებული ფუნქციები

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

ცვლადები და მუდმივები. იცოდე ტიპის კონვერტაცია. იცოდეთ როგორ გამოიყენოთ დავალების ოპერატორი. იცოდე არითმეტიკული და ლოგიკური მოქმედებები. იცოდეთ როგორ გამოიყენოთ სტრიქონების შეერთება. იცოდეთ როგორ გამოიყენოთ ჩაშენებული VBA ფუნქციები. მასალა გაკვეთილისთვის: MS Excel 2003 წ.

მონაცემთა ტიპების მიმოხილვავიზუალურიძირითადი (VB)

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

ცხრილი 9- VBA მონაცემთა ტიპები

დაწერეთ სახელი

ზომაბაიტები

მთელი დადებითი რიცხვები 0-დან 255-მდე

მთელი რიცხვები -32768-დან 32767-მდე

გრძელი მთელი რიცხვები -2147483648-დან 2147483647-მდე

ჩვეულებრივი სიზუსტის რეალური რიცხვები

მცურავი წერტილი.

უარყოფითი რიცხვები:

-3.402823E38-დან -1.401298E-45-მდე.

დადებითი რიცხვები:

1.401298Е-45-დან 3.402823Е38-მდე

ორმაგი სიზუსტით რეალური რიცხვებით

მცურავი წერტილი.

უარყოფითი რიცხვები:

-1.79769313486232E308-დან

4.94065645841247E-324.

დადებითი რიცხვები:

4.94065645841247E-324-დან

1.79769313486232E308

რიცხვები 15-მდე ციფრით ათწილადამდე და 4 ციფრის შემდეგ (ვალუტის ერთეული). -922337203685477.5808-დან 922337203685477.5807-მდე

ლოგიკური მნიშვნელობების შესანახად; შეიძლება შეიცავდეს მხოლოდ True (True) ან False (False) მნიშვნელობებს

დაწერეთ სახელი

ზომაბაიტები

აღწერა და ღირებულების დიაპაზონი

თარიღისა და დროის ინფორმაციის კომბინაციის შესანახად. თარიღის დიაპაზონი შეიძლება იყოს 100 იანვრიდან 9999 წლის 31 დეკემბრამდე. დროის დიაპაზონი 00:00:00-დან 23:59:59-მდე

სტრიქონი (ცვლადი სიგრძის სტრიქონი)

10 ბაიტი + გამოიყენება ტექსტის შესანახად. შეიძლება იყოს სტრიქონის სიგრძე 0 სიმბოლოდან (დაახლოებით) 2 მილიარდ სიმბოლომდე

სიმებიანი (სტრიქონი

ფიქსირებული სიგრძე)

სიგრძე გამოიყენება ტექსტის შესანახად. შეიძლება სტრიქონები (ერთი შეიცავს ერთიდან (დაახლოებით) 65400 ბაიტამდე სიმბოლო სიმბოლოზე)

16 ბაიტი + 1 ბაიტი/სიმბოლო

Variant ტიპის შეიძლება შეინახოს ნებისმიერი სხვა ტიპის მონაცემები. Variant მონაცემების დიაპაზონი დამოკიდებულია რეალურ შენახულ მონაცემებზე. ტექსტის შემთხვევაში დიაპაზონი შეესაბამება სტრიქონის ტიპს; რიცხვების შემთხვევაში, დიაპაზონი იგივეა, რაც Double ტიპის

გამოიყენება VBA-ს მიერ აღიარებულ ნებისმიერ ობიექტზე წვდომისათვის. ინახავს ობიექტის მისამართს მეხსიერებაში

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

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

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

შედარების ოპერაციის შედეგი.

VBA იყენებს ტიპს თარიღითარიღებისა და დროის შესანახად. არ არის საჭირო იმაზე ფიქრი, თუ როგორ ინახავს VBA ტიპის მონაცემებს. თარიღი, - შეგიძლიათ უბრალოდ აჩვენოთ, შეინახოთ ან მანიპულიროთ თარიღები; VBA ავტომატურად მართავს ყველა დეტალს სერიული ნომრის წელზე, თვეზე, დღესა და დროზე გადაქცევის შესახებ. VBA ტიპი თარიღიარის ტიპი თანმიმდევრული თარიღები(სერიალი თარიღები). თანმიმდევრული თარიღები ინახავს თარიღს, როგორც დღეების რაოდენობას მოცემული დაწყების თარიღიდან. საბაზისო თარიღი VBA ტიპისთვის თარიღიარის 1899 წლის 30 დეკემბერი. VBA იყენებს უარყოფით რიცხვებს 12/30/1899-მდე თარიღების წარმოსაჩენად და დადებით რიცხვებს 12/30/1899 წლის შემდეგ. რიცხვი 0 წარმოადგენს თარიღს 12/30/1899 თავად. ამ სქემაში 1900 წლის 1 იანვარი იწერება როგორც 2 (1/1/1990 არის 2 დღე 30/12/1899), მაგრამ -2 არის თარიღი 12/28/1899 (ორი დღით ადრე 12/30/1899) . ამის შესამოწმებლად დაწერეთ მარტივი პროცედურა.

სავარჯიშო 1.დაწერეთ პროცედურა, რომელიც აჩვენებს თარიღის შეტყობინებას.

Ამისთვის:

დაწერეთ პროცედურა (ჩამონათვალი 3):

ჩამონათვალი 3 Პროცედურათარიღის ტესტი

1 ქვეთარიღის ტესტი ()

2 Dim d As თარიღი 3

ამ პროცედურის შედეგად ეკრანზე გამოჩნდება საბაზისო თარიღი (სურ. 15).

ბრინჯი. 15 თანმიმდევრული თარიღის მნიშვნელობაში, მთელი რიცხვი (ციფრები ათობითი წერტილის მარცხნივ) არის დღეების საერთო რაოდენობა საბაზისო თარიღიდან. VBA სერიულ თარიღს შეიძლება ჰქონდეს ციფრები ათობითი წერტილის მარჯვნივ; ეს რიცხვები განსაზღვრავს დღის დროს, როგორც დღის ნაწილად. ერთი საათი არის დღის 1/24 (დაახლოებით 0,0416. ანალოგიურად, ერთი წუთი არის დღის 1/1440, ხოლო მეორე არის დღის 1/86400. შეგიძლიათ გამოაკლოთ ერთი თარიღი მეორეს, დაამატოთ თარიღი ან გამოაკლეთ რიცხვები მის შესაცვლელად.მნიშვნელობები.მაგალითად, თუ გჭირდებათ ორ თარიღს შორის დღეების რაოდენობის დადგენა, უბრალოდ გამოაკლეთ ადრინდელი თარიღი მოგვიანებით.რადგან ეს არის ტიპის მნიშვნელობები. თარიღი, VBA-მ „იცის“, რომ გაანგარიშების მიზანია ამ ორ თარიღს შორის დღეებში სხვაობის მიღება. ანალოგიურად, თუ თქვენ გჭირდებათ თარიღის განსაზღვრა მოცემული თარიღიდან 60 დღის შემდეგ, უბრალოდ დაამატეთ 60 ამ თარიღს.

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

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

Მონაცემთა ტიპი ვარიანტიარის სპეციალური მონაცემთა ტიპი, რომელსაც შეუძლია შეინახოს ცხრილში ნაჩვენები ნებისმიერი ტიპი. 9, გარდა ტიპის ობიექტი. VBA იყენებს ტიპს ვარიანტიყველა ცვლადისთვის, თუ არ გამოაცხადებთ ცვლადის ტიპს, როგორც ეს მოგვიანებით იქნება აღწერილი ამ განყოფილებაში. აკრიფეთ მონაცემები ვარიანტიიღებენ იმ სპეციფიკური ტიპის მახასიათებლებს, რომლებსაც ისინი ამჟამად ინახავენ. მაგალითად, თუ მონაცემთა ტიპი ვარიანტიშეიცავს სტრიქონების მონაცემებს, ვარიანტიიღებს String ტიპის მახასიათებლებს. თუ მონაცემთა ტიპი ვარიანტიშეიცავს ნომრებს, ვარიანტიიღებს ზოგიერთი რიცხვითი ტიპის მახასიათებლებს, ჩვეულებრივ − Ორმაგი, თუმცა ტიპები ვარიანტიასევე შეიძლება ჰქონდეს ტიპის მახასიათებლები მთელი რიცხვი, გრძელი, Მარტოხელაან ვალუტა. მიუხედავად იმისა, რომ ტიპები ვარიანტიმოსახერხებელია და ზოგავს სამუშაოს პროცედურების დაწერისას, ისინი საჭიროებენ მეტ მეხსიერებას, ვიდრე ნებისმიერი სხვა ტიპის მონაცემი, დიდი სტრიქონების გარდა. გარდა ამისა, მათემატიკური ოპერაციები და შედარების ოპერაციები ტიპის მონაცემებზე ვარიანტიუფრო ნელია, ვიდრე მსგავსი ოპერაციები ნებისმიერი სხვა ტიპის მონაცემებზე. ზოგადად, თქვენ უნდა მოერიდოთ ცვლადების გამოყენებას ვარიანტი: თუ დაეყრდნობით ცვლადებს, როგორიცაა ვარიანტი, შეიძლება გამოგიმუშავოთ დაუდევარი პროგრამირების ჩვევა და გაგიჭირდეთ თქვენს პროგრამებში შეცდომების პოვნა და გამოსწორება.

ცვლადები

ცვლადი(ცვლადები) არის სახელი, რომელსაც პროგრამისტი ანიჭებს ტერიტორიას

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

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

ცვლადის სახელები არ არის "შემთხვევის სენსიტიური"(არა საქმე- მგრძნობიარე), ანუ ცვლადის სახელის დიდი ასოებით ან დიდი ასოებიარ აქვს მნიშვნელობა.

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

მონაცემთა მნიშვნელობის შენახვა ცვლადში ეწოდება ცვლადი დავალება(მინიჭება The ცვლადები ან მიღების ან დავალება). დავალება ხორციელდება მინიჭების ოპერატორის გამოყენებით, რომელიც წარმოდგენილია ტოლობის ნიშნით (=). შემდეგი ხაზი არის ცვლადის მნიშვნელობის მინიჭების მაგალითი:

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

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

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

ამ და სხვა მიზეზების გამო, VBA გაძლევთ ამის შესაძლებლობას გამოკვეთილი(გამოკვეთილი) ცვლადების დეკლარაცია.

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

დაბნელებული სახელი1 [, სახელი2 ]

სახელი N არის ნებისმიერი მოქმედი ცვლადის იდენტიფიკატორი. ყველა ცვლადი, რომელსაც ქმნით ამ საკვანძო სიტყვის ფორმით დაბნელებული, არის ცვლადები

ტიპი ვარიანტი.

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

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

Ამისთვის:

შეცვალეთ პროცედურა გამარჯობა Excel (ჩამონათვალი 4):

ჩამონათვალი 4 Პროცედურაგამარჯობა Excel

1 Sub HelloExcel()

2 Dim HelloMsg " ცვლადი MsgBox 3-ისთვის

ოპერატორი დაბნელებული (სტრიქონზე 2) ჩამონათვალი 4 აცხადებს ცვლადს გამარჯობა მესგ და იტოვებს მისთვის მეხსიერების არეალს (ამ ქვეპროგრამაში გამარჯობა მესგ არის ტიპის ცვლადი ვარიანტი). ხაზი 2 შეიცავს ბოლო კომენტარს, რომელიც მიუთითებს ამ ცვლადის მიზანს. ხაზი 4 არის ცვლადის მინიჭება გამარჯობა მესგ ხაზები "გამარჯობა,excel!" . შემდეგი (სტრიქონზე 5) HelloMsg ცვლადი გამოიყენება, როგორც პროცედურის ერთ-ერთი არგუმენტი MsgBox. ფუნქცია MsgBox აჩვენებს იგივე შეტყობინებების ყუთს, როგორც ადრე. მიუხედავად იმისა MsgBox ახლა იღებს თავის პირველ არგუმენტს ცვლადისგან, ეს ცვლადი შეიცავს იგივე სტრიქონის ინფორმაციას, რომელიც ადრე (წინა ნაწილის ჩამონათვალში) იყო დაწერილი პირდაპირ განცხადებაში. MsgBox.

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

დაბნელებული ვარნალი [, varname2 ]

varnameN წარმოადგენს ნებისმიერ მოქმედ VBA ცვლადის სახელს, a ტიპი N - VBA მონაცემთა ტიპის ნებისმიერი სახელი.

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

იმპლიციტური დეკლარაციის საშუალებით, თქვენ ასევე შეგიძლიათ მიუთითოთ ცვლადის ტიპი დამატებით

სპეციალური პერსონაჟი ე.წ ტიპის განსაზღვრის სიმბოლო(ტიპი- განმარტება პერსონაჟი) ცვლადის სახელის ბოლომდე. მაგიდაზე. ცხრილი 10 ჩამოთვლის VBA ტიპის განსაზღვრის სიმბოლოებს და მათ ტიპებს. ცხრილი 10- აკრიფეთ განმარტების სიმბოლოები

ტიპი

განმარტების სიმბოლო

ტიპი

სიმბოლო განმარტებები

მთელი რიცხვიგრძელი

ვალუტაᲝრმაგი

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

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

Ამისთვის:

შეცვალეთ პროცედურა გამარჯობა Excel (ჩამონათვალი 5):

ჩამონათვალი 5 Პროცედურაგამარჯობა Excel

1 Sub HelloExcel()

2 Dim HelloMsg როგორც სტრიქონი 3

    HelloMsg = "გამარჯობა Excel!"

    Title$ = "ჩემი პირველი პროგრამა"

    MsgBox HelloMsg, სათაური$

პროცედურის ეს ვერსია გამარჯობა Excel მუშაობს თითქმის ისევე, როგორც წინა. სტრიქონი 1 შეიცავს პროცედურის დეკლარაციას. ხაზი 2 განცხადება დაბნელებული აშკარად აცხადებს ცვლადს გამარჯობა მესგ. ვინაიდან ოპერატორი დაბნელებული შეიცავს საკვანძო სიტყვას როგორც და ჩაწერეთ სახელი სიმებიანი, ცვლადი გამარჯობა მესგ აქვს ტიპი სიმებიანი. მე-4 სტრიქონი ანიჭებს შეტყობინების ტექსტს სიმებიანი ცვლადისთვის გამარჯობა მესგ. მე-5 სტრიქონი ირიბად აცხადებს ცვლადს სათაური$და ამავე დროს ცვლადს ანიჭებს შეტყობინების ველის სათაურის ტექსტს. რადგან ცვლადის სახელი სათაური$ბოლოში აქვს სტრიქონის ტიპის განსაზღვრის სიმბოლო, ეს ცვლადი ასევე არის String ტიპის. საბოლოოდ, მე-6 სტრიქონი იყენებს განცხადებას MsgBox შეტყობინების ყუთის ჩვენება; ამ განცხადებაში, როგორც შეტყობინების ტექსტი, ასევე ფანჯრის სათაურის ზოლი ცვლადებია: გამარჯობა მესგ და სათაური$, შესაბამისად.

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

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

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

დაბნელებული ვარსახელი როგორც სტრიქონი *

ვარსახელი არის ნებისმიერი მოქმედი ცვლადის სახელი, a არის ნებისმიერი რიცხვი 1-დან 65400 სიმბოლომდე

სფერო: ცვლადი ხელმისაწვდომობა

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

პროცედურაში გამოცხადებული ცვლადი მხოლოდ ამ პროცედურისთვის არის ხელმისაწვდომი. მაგალითად, ცვლადი გამარჯობა მესგ მე-5 ჩამონათვალის მე-2 სტრიქონიდან ხელმისაწვდომია მხოლოდ პროცედურაში გამარჯობა Excel; არცერთ სხვა პროცედურას არ აქვს წვდომა ამ ცვლადზე.

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

დავალება 4.შექმენით ორი პროცედურა, რომელთა მოქმედების სფეროა პროცედურული დონის ცვლადები.

Ამისთვის:

შეიყვანეთ ორი სრული პროცედურა (ჩამონათვალი 6):

ჩამონათვალი 6 Პროცედურაგამარჯობა Excel

1 Sub HelloExcel()

2 Dim HelloMsg როგორც სტრიქონი 3

    HelloMsg = "გამარჯობა Excel!"

    MsgBox HelloMsg, "ჩემი პირველი პროგრამა"

8 Sub HelloDave()

9 Dim HelloMsg როგორც სტრიქონი 10

    HelloMsg = "გამარჯობა Excel!"

    MsgBox HelloMsg, "შეტყობინებების კიდევ ერთი ყუთი"

1-6 სტრიქონები შეიცავს იგივე პროცედურას გამარჯობა Excel ჩამონათვალი 4-დან, რომელიც ზუსტად იგივენაირად მუშაობს. მოდულს დაემატა პროცედურა გამარჯობა დეივ, რომელიც იწყება მე-6 ჩამონათვალის მე-8 სტრიქონზე. პროცედურა გამარჯობა დეივ მუშაობს ისევე, როგორც პროცედურა გამარჯობა Excel, ის უბრალოდ აჩვენებს სხვა ტექსტურ შეტყობინებას და სათაურს მის დიალოგურ ფანჯარაში. მე-2 და მე-9 სტრიქონებში ორივე პროცედურა იყენებს განცხადებას დაბნელებული ლოკალურად დასახელებული ცვლადების გამოცხადებისთვის გამარჯობა მესგ.

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

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

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

სავარჯიშო 1

შექმენით ორი პროცედურა და ერთი მოდულის დონის ცვლადის დეკლარაცია (გადაიტანეთ განცხადება 1 სტრიქონზე დაბნელებული ცვლადით გამარჯობა მესგ მე-2 და მე-9 სტრიქონების ამოღება მე-6 სიიდან).

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

ცვლადის აშკარა დეკლარაციის მოთხოვნა

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

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

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

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

რადგან ჩართვა ვარიანტიაშკარაყველა მოდულისთვის ძალიან სასარგებლოა, VB რედაქტორი იძლევა საშუალებას, რომ ავტომატურად შეიტანოს ეს ბრძანება ყოველ ახალ მოდულში მისი შექმნისას. იმისათვის, რომ VB რედაქტორმა დაამატოს ბრძანება ვარიანტიაშკარაყოველ ახალ მოდულში მიჰყევით ამ ნაბიჯებს:

y აირჩიეთ ბრძანება ხელსაწყოები/ Პარამეტრები (სერვისი/პარამეტრები); VB რედაქტორი აჩვენებს დიალოგურ ფანჯარას Პარამეტრები;

და დააწკაპუნეთ ჩანართზე რედაქტორი (რედაქტორი) საჭიროების შემთხვევაში რედაქტირების ვარიანტების ჩვენება;

y აირჩიეთ ჩამრთველი მოითხოვს ცვლადი დეკლარაცია (ცვლადების აშკარა დეკლარაცია);

თქვენ აირჩიეთ კარგი. VB რედაქტორი ხურავს დიალოგურ ფანჯარას Პარამეტრები.

სავარჯიშო 2

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

მუდმივები

მუდმივი(მუდმივი) არის მნიშვნელობა VBA პროგრამაში, რომელიც არ იცვლება. ზემოთ მოყვანილი პროცედურების მაგალითები იყენებენ სტრიქონების ტიპის მუდმივებს "გამარჯობა,excel!" და "ჩემი პირველი პროგრამა". ასეთ მუდმივებს უწოდებენ პირდაპირი მუდმივები(სიტყვასიტყვით მუდმივები) რადგან ლიტერალური მნიშვნელობა პირდაპირ კოდზე იწერება.

თქვენ ასევე შეგიძლიათ დაწეროთ ლიტერატურული რიცხვითი მუდმივები და თარიღები VBA კოდში; რიცხვითი ლიტერატურული მუდმივების მაგალითები მოიცავს რიცხვებს 25 , 3.14 . თარიღის პირდაპირი მუდმივების მაგალითები მოიცავს თარიღებს #12/31/96# ან #28 ოქტომბერი, 1997 #(თარიღის მუდმივების ჩაწერის შესახებ უფრო მეტს შეიტყობთ ამ ნაწილში).

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

კონსტ სახელი = ღირებულება [ოპერატორი სახელი2… ] _

[, pathez =ღირებულება3 [ოპერატორი სახელი4 ] … ]

სახელი N წარმოადგენს ნებისმიერ მოქმედ იდენტიფიკატორს, მნიშვნელობა N – ნებისმიერი მონაცემთა მნიშვნელობა: რიცხვითი, სტრიქონი ან თარიღი, ა ოპერატორი არის არითმეტიკული ან შედარებითი ოპერაცია ადრე აღწერილი მუდმივების ორ სახელს შორის. შემდეგი ხაზებიაჩვენე რამდენიმე დასახელებული მუდმივი დეკლარაცია: Const Pi = 3.14, ტექსტი = "გამარჯობა Excel!"

Const Pi2 = 2 * Pi

მუდმივების ფარგლები

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

ლიტერატურული მუდმივების წერა

VBA კოდში ლიტერატურული სიმებიანი მუდმივების ჩაწერისას დაიცავით ეს წესები:

ь სიმებიანი მუდმივები უნდა იყოს ჩასმული ორმაგ ბრჭყალებში (");

b არის ცარიელი სიმებიანი მუდმივი (ე.წ null სტრიქონიnull სიმებიანი ან ცარიელი სიმებიანი) აღინიშნება ორი ორმაგი ბრჭყალებით, რომელთა შორის არაფერია ("");

b სიმებიანი მუდმივი ყველა ერთ ხაზზე უნდა იყოს.

VBA კოდში ლიტერატურული რიცხვითი მუდმივების ჩაწერისას დაიცავით ეს წესები:

ь რიცხვითი მუდმივები უნდა შედგებოდეს მხოლოდ რიცხვითი სიმბოლოებისგან 0-დან 9-მდე;

ь რიცხვითი მუდმივი შეიძლება დაიწყოს ნიშნით (-) და შეიძლება შეიცავდეს ათობითი წერტილს;

b შეგიძლიათ გამოიყენოთ ექსპონენციალური აღნიშვნა რიცხვითი მუდმივებისთვის.

VBA ცნობს თარიღის მუდმივებს რამდენიმე სხვადასხვა ფორმატში; თქვენ უნდა მოათავსოთ თარიღის ყველა მუდმივი ფუნტის ნიშნებს შორის (#). შემდეგი სტრიქონები აჩვენებს თარიღის მუდმივ ფორმატებს, რომლებსაც VBA აღიარებს: #2-5-97 21:17:34# #5 თებერვალი, 1997წ. 9:17:34pm# #Mag-31-97# #15 აპრილი 1997#

იმისდა მიუხედავად, თუ რომელ ფორმატშია ჩაწერილი თარიღის ლიტერატურული მუდმივი, VBA გადააფორმებს ამ მუდმივას (როდესაც ჩასმის წერტილი ამოღებულია ხაზიდან მუდმივის ჩაწერის შემდეგ), რათა დაემთხვას შემდეგ ორ ფორმატს, იმისდა მიხედვით, შეიცავს თუ არა თარიღის მუდმივი ინფორმაცია. დროის შესახებ: #2/5/1997 9:17:34 PM# #2/5/1997# არსებობს მხოლოდ ორი მოქმედი ლოგიკური მუდმივი: True და False.

მუდმივის ტიპის დაყენება

როდესაც თქვენ აცხადებთ დასახელებულ მუდმივას ან იყენებთ ლიტერატურულ მუდმივას, VBA "თვლის", რომ ამ მუდმივით წარმოდგენილი მნიშვნელობა აქვს

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

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

კონსტ სახელიროგორც ტიპი = ღირებულება[, სახელიროგორც ტიპი = ღირებულება]

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

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

Const Pi როგორც ორმაგი = 3.14

შიდამუდმივები

VBA გთავაზობთ რამდენიმე შიდა მუდმივები(დამახასიათებელი მუდმივები), ასევე ე.წ წინასწარ განსაზღვრული მუდმივები(წინასწარ განსაზღვრული მუდმივები). შიდა მუდმივი არის დასახელებული მუდმივა, რომელიც განსაზღვრულია VBA დეველოპერების მიერ. VBA-ს მიერ განსაზღვრული შიდა მუდმივები ყველა ასოებით იწყება vbმიუთითოს, რომ ისინი განსაზღვრულია Visual Basic for Applications (ან Visual Basic) ენით. მაგალითად, მუდმივები vbOKOonly, vbOK გაუქმებაგანსაზღვრულია VBA-ს მიერ. Excel 2002 შიდა მუდმივები იწყება ასოებით xlრათა ცხადი გახდეს, რომ ისინი განსაზღვრულია Excel-ის მიერ. შიდა მუდმივების წყალობით, უფრო ადვილია ზოგიერთი ჩაშენებული VBA პროცედურის გამოყენება, როგორიცაა განცხადება MsgBox, რომლის შესახებაც უკვე იცით და ოპერატორი შეყვანის ყუთი, რომლებიც მოგვიანებით განიხილება ამ ნაწილში.

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

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

ფუნქცია MsgBoxშეტყობინების ყუთის ჩვენებას აქვს შემდეგი სინტაქსი:

MsgBox(Სწრაფი [, ღილაკები ] [, სათაური ] [, HelpFile , კონტექსტი ])

არგუმენტი Სწრაფი MsgBoxაჩვენებს ამ სტრიქონს დიალოგურ ფანჯარაში; ყოველთვის უნდა წარმოადგინოს არგუმენტი Სწრაფი, რადგან ეს არის საჭირო არგუმენტი(საჭირო არგუმენტი). არგუმენტი ღილაკები (სურვილისამებრ არგუმენტი), არის რიცხვითი გამონათქვამი, რომელიც განსაზღვრავს ღილაკებს და შეტყობინებებს დიალოგურ ფანჯარაში გამოსატანად. არგუმენტი სათაური წარმოადგენს სტრიქონის ნებისმიერ მნიშვნელობას (ლიტერატურული, მუდმივი ან ცვლადი). MsgBoxსათაური, VBA გამოჩნდება დიალოგური ფანჯრის სათაურის ზოლში MsgBoxსიტყვა " მაიკროსოფტიexcel" . არგუმენტი HelpFile - დახმარების ფაილი კონტექსტი - განყოფილება დახმარების ფაილში. შეტყობინების ტექსტი შეიძლება ჩაირთოს ფრჩხილებში, მაგრამ ფრჩხილები არჩევითია ფუნქციის შესრულებისას MsgBox

გამოიყენება როგორც ოპერატორი.

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

ფუნქცია შეყვანის ყუთიაქვს შემდეგი სინტაქსი:

სტრინგვარი=Input Box( Სწრაფი[, სათაური] [, ნაგულისხმევი] [, XPos] [, YPos] _

[, HelpFile, კონტექსტი])

Აქ სტრინგვარი წარმოადგენს ნებისმიერ ცვლადს, რომელსაც შეუძლია შეინახოს სტრიქონი (ან ტიპის ცვლადი სიმებიანი, ან - ვარიანტი). არგუმენტი Სწრაფი წარმოადგენს სტრიქონის ნებისმიერ მნიშვნელობას (ლიტერატურული, მუდმივი ან ცვლადი). შეყვანის ყუთიაჩვენებს ამ სტრიქონს, როგორც მოთხოვნას დიალოგურ ფანჯარაში; ყოველთვის უნდა წარმოადგინოს არგუმენტი Სწრაფი, რადგან ეს არის საჭირო არგუმენტი; ყველა დანარჩენი არჩევითია. არგუმენტი სათაური არის მეორე არგუმენტი შეყვანის ყუთი. სათაური წარმოადგენს სტრიქონის ნებისმიერ მნიშვნელობას (ლიტერატურული, მუდმივი ან ცვლადი). შეყვანის ყუთიაჩვენებს ამ ხაზის ტექსტს დიალოგური ფანჯრის სათაურის ზოლში. თუ არგუმენტს გამოტოვებთ სათაური, VBA გამოჩნდება დიალოგური ფანჯრის სათაურის ზოლში შეყვანის ყუთისიტყვა " მაიკროსოფტიexcel" . არგუმენტი ნაგულისხმევი – სტრიქონის გამოხატულება ნაჩვენებია შეყვანის ველში, როგორც ნაგულისხმევი, თუ მომხმარებელი არ შეიყვანს სხვა სტრიქონს; თუ ეს არგუმენტი გამოტოვებულია, შეყვანის ველი ცარიელია. არგუმენტები XPos და YPos შეიძლება იყოს ნებისმიერი რიცხვითი გამოხატულება. ეს არგუმენტები საშუალებას გაძლევთ მიუთითოთ სად გამოჩნდება აქტიურ ფანჯარაში შეყვანის ველი და არის დიალოგური ფანჯრის ზედა მარცხენა კუთხის კოორდინატები: XPos – ჰორიზონტალური მანძილი ფანჯრის მარცხენა კიდიდან; YPos არის ვერტიკალური მანძილი ფანჯრის ზედა კიდიდან. ორივე დისტანცია იზომება ცალ-ცალკე ( ტიპები); ერთი დარტყმა უდრის წერტილის 1/20-ს (წერტილი არის ბეჭდური შრიფტის გაზომვა). ვინაიდან წერტილი არის ინჩის 1/72, ერთი დარტყმა არის დაახლოებით 0,0007 ინჩი. ფუნქციის ბოლო ორი არჩევითი არგუმენტი შეყვანის ყუთი- ეს HelpFile და კონტექსტი. მათ აქვთ იგივე მიზანი, როგორც მსგავსი ფუნქციის არგუმენტები. MsgBox.

დასახელებული ფუნქციის არგუმენტების გამოყენება

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

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

MsgBox AnyMsg, AnyTitle

MsgBox Prompt:=AnyMsg, Title:=AnyTitle

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

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

დავალება 5.დაწერეთ პროცედურა, რომელიც ითვლის წრის ფართობს, მაგრამ იღებს წრის რადიუსს პროცედურის მომხმარებლისგან.

Ამისთვის:

შეიყვანეთ პროცედურა (ჩამონათვალი 7):

ჩამონათვალი 7 - შეყვანის მონაცემების მიღება ოპერატორის გამოყენებითშეყვანის ყუთი

    Const Pi As Single =3.14" pi მნიშვნელობის მიახლოება

    Dim CircleArea As Single“ ინახავს მე-3 წრის გამოთვლილ ფართობს

4 ქვე სია3_07()

    Const BoxTitle = " წრის არე"!}

    მბზინავი რადიუსი ერთჯერადად, ტემპი როგორც სიმებიანი 7

    Temp = InputBox ("Enter Radius" & Chr(13) & "circle", BoxTitle)

    რადიუსი = CSng (ტემპერატურა)

    CircleArea = Pi * Radius * Radius

    MsgBox Circle Area, vbInformation + vbOKCancel, BoxTitle

7 ჩამონათვალის 1 და 2 სტრიქონები აცხადებს მუდმივობას პი და ცვლადი წრის ფართობი მოდულარული დონე. მე-4 სტრიქონი შეიცავს ფაქტობრივი პროცედურის დეკლარაციას. მე-5 სტრიქონი აცხადებს პროცედურული დონის მუდმივობას BoxTitle; ამ მუდმივას აქვს მხოლოდ ადგილობრივი წვდომა პროცედურაში სია3_07. მე-8 სტრიქონზე განცხადება უწოდებს ფუნქციას შეყვანის ყუთი. ის აჩვენებს თავის პირველ არგუმენტს ტექსტის სახით დიალოგურ ფანჯარაში, რაც მომხმარებელს უბიძგებს შეიყვანოს გარკვეული ტიპის მნიშვნელობები. ამ ოპერატორში შეყვანის ყუთი აჩვენებს ტექსტს "შეიყვანეთ წრის რადიუსი" (Chr(13) ფუნქცია არის გადასვლის სიმბოლო ახალი ხაზი) უთხარით პროცედურის მომხმარებლებს რა მნიშვნელობა უნდა შეიყვანონ. შეყვანის ყუთი იყენებს მეორე არგუმენტს,

12 ბოლო ქვე

წარმოდგენილია მუდმივით BoxTitle, როგორც დიალოგური ფანჯრის სათაური. განცხადების შესრულებისას შეყვანის ყუთი გამოჩნდება დიალოგური ფანჯარა (ნახ. 16)

წრის ფართობი

შეიყვანეთ წრის რადიუსი

ბრინჯი. 16 მომხმარებელი შეიყვანს რიცხვს ტექსტურ ველში და ირჩევს ბრძანების ღილაკს კარგიან გაუქმებადახურეთ დიალოგი, როგორც ნებისმიერი სხვა Windows ფანჯარა. როდესაც თქვენ იძახით რომელიმე ფუნქციას, თქვენ უნდა გამოიყენოთ ფუნქციის მიერ დაბრუნებული მნიშვნელობა. ფუნქციის მიერ დაბრუნებული მნიშვნელობა ეწოდება ფუნქციის შედეგი(ფუნქცია შედეგი). როგორც ნაჩვენებია მე-8 სტრიქონში ფუნქციის შემთხვევაში შეყვანის ყუთი, რომლის შედეგიც ენიჭება ცვლადს Ტემპი. ფუნქციის შედეგი შეყვანის ყუთი ყოველთვის არის სტრიქონი (ამიტომ ცვლადი Ტემპი გამოცხადდა როგორც სიმებიანი). ვინაიდან ცვლადი Ტემპი ცალსახად გამოცხადდა როგორც სიმებიანი, სტრიქონის მნიშვნელობა უნდა გარდაიქმნას ციფრულ მნიშვნელობად, სანამ ის გამოიყენებოდეს მათემატიკურ გამოთვლებში. ჩამონათვალი 7-ის მე-9 სტრიქონი სწორედ ამას აკეთებს ჩაშენებული VBA ფუნქციის გამოყენებით csng მომხმარებლის შეყვანის გადასაყვანად რამდენიმე ტიპის Single.

გამონათქვამები inვიზუალურიძირითადი

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

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

მონაცემთა ტიპის თავსებადობა. მონაცემთა ავტომატური კონვერტაცია

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

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

სხვადასხვა რიცხვითი მონაცემთა ტიპების გაერთიანება იმავე გამოსახულებაში; VBA ავტომატურად ასრულებს საჭირო ტიპის კონვერტაციებს სხვადასხვა ციფრულ ტიპებზე. VBA ასევე ზოგჯერ შეუძლია ავტომატურად გადაიყვანოს მონაცემთა სხვა ტიპები ისე, რომ გამოხატვის ყველა ტიპი თავსებადი იყოს, თუმცა ეს ყოველთვის არ არის შესაძლებელი. ძალზე მნიშვნელოვანია გამოხატვის ტიპის კონტროლი და ცოდნა, რადგან თუ გამონათქვამები შეიცავს შეუთავსებელ ტიპებს, VBA უშვებს გაშვების დროის შეცდომას - შეცდომას. ტიპის შეუსაბამობები(ტიპი- შეუსაბამობა). მონაცემთა სხვადასხვა ტიპების შემცველი გამონათქვამის დამუშავებისას, VBA ჯერ "ცდილობს" გადაჭრას ნებისმიერი ტიპის განსხვავება გამოსახულებაში არსებული მნიშვნელობების თავსებად მონაცემთა ტიპებად გადაქცევით. თუ ტიპის კონვერტაცია ვერ გადაჭრის რაიმე განსხვავებას, გამოჩნდება გაშვების დროის შეცდომა და პროცედურა წყვეტს შესრულებას. მაგალითად, გამოთქმაში 25 & "Computer Science", VBA ყოველთვის ასრულებს სტრიქონების შეერთებას (აერთებს ორ სტრიქონს), ცვლადის ტიპების მიუხედავად; შედეგი არის ტიპი სიმებიანი; ეს გამოთქმა არასდროს აყენებს ტიპის შეუსაბამობის შეცდომას.

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

რიცხვის სტრიქონად გადაქცევისას, VBA ქმნის სტრიქონს, რომელიც შეიცავს ამ რიცხვის ყველა ციფრს, პლუს ათობითი წერტილი (თუ რიცხვს აქვს ერთი). რიცხვი 3413.72 (პუნქტი გამოიყენება კოდში რიცხვის ჩასაწერად), მაგალითად, გარდაიქმნება სტრიქონში "3413.72". თუ რიცხვი არის ძალიან დიდი ან ძალიან მცირე, VBA-ს შეუძლია შექმნას რიცხვის სიმებიანი წარმოდგენა სამეცნიერო აღნიშვნით; მაგალითად, რიცხვი 0.0000000004927 გარდაიქმნება სტრიქონში "4.927E-11".

VBA-ს შეუძლია სტრიქონის რიცხვად გადაქცევა მხოლოდ იმ შემთხვევაში, თუ სტრიქონი შეიცავს რიცხვის სიმბოლოს ათობითი ან ექსპონენციალურ ფორმატში. სტრიქონები "988.6", "812", "-186.7", "1,3E10" წარმოადგენს რიცხვებს და VBA-ს შეუძლია მათი გარდაქმნა რიცხვებად. სტრიქონები "1.045", "$74.550" და "დილა მშვიდობისა!" რიცხვებად გადაქცევა შეუძლებელია.

როდესაც VBA გარდაქმნის ტიპის მნიშვნელობებს ლოგიკურირიცხვებად, მნიშვნელობა მართალიაგარდაიქმნება 1-ად და მნიშვნელობა ყალბი– 0-მდე. როდესაც VBA აკონვერტებს რიცხვს ტიპად ლოგიკური, ნული გარდაიქმნება ყალბიდა ნებისმიერი სხვა მნიშვნელობა გარდაიქმნება მართალია. როდესაც VBA გარდაქმნის ტიპის მნიშვნელობებს ლოგიკურისტრიქონებში, VBA იყენებს სტრიქონს "True" to მართალიადა "ცრუ" ამისთვის ყალბი.

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

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

დავალების ოპერატორი (=)

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

ვარსახელი = გამოხატულება

ცვლადი ვარსახელი - ნებისმიერი ცვლადი, ა გამოხატულება - ნებისმიერი გამოხატულება.

დავალების შესრულებისას, VBA ჯერ აფასებს გამონათქვამს მინიჭების განცხადების მარჯვნივ (=) და შემდეგ ინახავს გამოთქმის შედეგს ცვლადში, რომლის სახელიც არის დავალების განცხადების მარცხნივ.

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

varname = გამოხატულება

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

არითმეტიკული მოქმედებები

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

ცხრილი 11- ოპერატორის ნიშნები (ნოტაციები), რომლებიც გამოიყენება VBA არითმეტიკულ გამოსახულებებში (Ni არის ნებისმიერი მოქმედი VBA რიცხვითი გამოხატულება)

Ნიშანი

Სინტაქსი

სახელი/აღწერა

დამატება. ამატებს N1 N2-ს

გამოკლება.აკლებს N2 N1-ს

გამრავლება.ამრავლებს N1-ს N2-ზე

განყოფილება. N1 ყოფს N2-ზე.

მთელი გაყოფა.ყოფს N1-ს N2-ზე, უგულებელყოფს ნებისმიერ წილად ნაწილს ისე, რომ შედეგი იყოს მთელი რიცხვი.

მოდულის განყოფილება.ყოფს N1-ს N2-ზე, აბრუნებს მხოლოდ გაყოფის მოქმედების დარჩენილ ნაწილს.

ექსპონენტაცია.ამაღლებს N1-ს N2-ის ხარისხზე.

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

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

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

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

სახელი/აღწერა

Თანასწორობა. მართალია , თუელუდრის E2-ს, წინააღმდეგ შემთხვევაში -ყალბი

Ნაკლები ვიდრე. მართალია , თუელE2-ზე ნაკლები, წინააღმდეგ შემთხვევაში -ყალბი

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

E2, წინააღმდეგ შემთხვევაში -ყალბი

Მეტი ვიდრე. მართალია , თუ E1 მეტია E2-ზე, წინააღმდეგ შემთხვევაში -ყალბი

მეტი ან ტოლი.მართალიათუ E1 მეტია ან ტოლია

E2, წინააღმდეგ შემთხვევაში -ყალბი

Არ უდრის.მართალია, თუ E1 არ არის E2-ის ტოლი, წინააღმდეგ შემთხვევაში - ყალბი

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

ცხრილი 12– შედარების ოპერაციების ნიშნები (ნოტაცია) (ამ ცხრილში E წარმოადგენს ნებისმიერ მოქმედ VBA გამოხატვას)

Ოპერაცია/ოპერატორი

Სინტაქსი

ნიმუში,

სიმებიანი. მართალიათუ ელ ემთხვევა

ორობითი და ტექსტური სტრიქონების შედარება

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

ვარიანტი შედარება [ ორობითი | ტექსტი]

ტექსტის შედარებისას, VBA „ეპყრობა“ დიდ ასოებს, როგორც მცირე ასოების ეკვივალენტს.

სიმების შეერთება

VBA გაძლევთ შესაძლებლობას დააკავშიროთ (წებოთ) სტრიქონები ერთმანეთთან გრძელი სიმების შესაქმნელად. ერთი სტრიქონის მეორესთან შეერთება ეწოდება შეერთება(შეერთება) ხაზები. & ნიშანი შეიძლება გამოყენებულ იქნას მხოლოდ სტრიქონების შეერთებისთვის. & ნიშნის ზოგადი სინტაქსია:

ოპერანდი1 & ოპერანდი2 [& ოპერანდი3… ]

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

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

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

ცხრილი 13- ლოგიკური ოპერატორები (ამ ცხრილში E წარმოადგენს ნებისმიერ მოქმედ გამონათქვამს ლოგიკური შედეგით, როგორიცაა შედარების ოპერაცია)

ოპერატორის სინტაქსის სახელი/აღწერა

და El And E2 შეერთება. მართალიათუ ორივე E1 და E2 აქვს მნიშვნელობა

მართალია , წინააღმდეგ შემთხვევაში -ყალბი ან El Or E2 დისჯუნქცია. მართალიათუ ერთი გამონათქვამი ან ორივე (E1 და

E2) ტოლიამართალია ; წინააღმდეგ შემთხვევაში -ყალბი არა ელ უარყოფა. მართალიათუ E1-ს აქვს მნიშვნელობა ყალბი; ყალბი,

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

გამონაკლისი. მართალიათუ E1 და E2 განსხვავებულია

ღირებულებები; წინააღმდეგ შემთხვევაში -ყალბი

ეკვივალენტობა. მართალიათუ E1 აქვს იგივე

მნიშვნელობა როგორც E2; წინააღმდეგ შემთხვევაში -ყალბი

იმპლიკამენტი. ყალბიროდესაც E1 ტოლია მართალიადა

E2 არისყალბი ; წინააღმდეგ შემთხვევაში -მართალია .

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

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

ცხრილი 14– ოპერატორების/ოპერაციების იერარქია უმაღლესი პრიორიტეტიდან ყველაზე დაბალამდე

ოპერატორი/ხელმოწერა კომენტარები

ექსპონენტაცია, უმაღლესი პრიორიტეტი

ერთიანი მინუსი

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

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

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

<, <=, >, >=,

მოსწონს, =,<>, არის

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

ფუნქციების გამოყენებაVisual Basic

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

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

მათემატიკის ფუნქციები

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

დაბრუნება/მოქმედება

ფუნქციები (ar-

გუგები)

აბრუნებს აბსოლუტურ მნიშვნელობას

აბს()

კუთხის კოსინუსი, სად

კოზ()

აბრუნებს კუთხის სინუსს;არის რადიანებში გაზომილი კუთხე

ცოდვა()

თან()

აბრუნებს კუთხის ტანგენტს;- კუთხე რადიანებში

ატნ()

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

აბრუნებს მუდმივას , გაზრდილი სიმძლავრის N ( არის ბუნებრივი ლოგარითმების საფუძველი და არის (დაახლოებით) უდრის 2.718282)

აბრუნებს N-ის მთელ ნაწილს. Fix არ ამრგვალებს რიცხვს, მაგრამ უგულებელყოფს ნებისმიერ წილადურ ნაწილს. თუ N უარყოფითია, Fix აბრუნებს უახლოეს უარყოფით რიცხვს მეტი ან ტოლი

შესვლა()

აბრუნებს N-ის მთელ ნაწილს. Int არ ამრგვალებს რიცხვს, მაგრამ უგულებელყოფს ნებისმიერ წილად ნაწილს. თუ N უარყოფითია, Int აბრუნებს უახლოეს უარყოფით რიცხვს ნაკლები ან თანაბარიაბრუნებს ბუნებრივ ლოგარითმს

შემთხვევითი

არგუმენტი

არის

ბრუნდება

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

ოპერატორის მიერ VBA შემთხვევითი რიცხვების გენერატორის ინიციალიზაცია

რანდომიზება

აბრუნებს რიცხვის ნიშანს: -1 თუ N უარყოფითია; 1 თუ N არის

დადებითი; 0 თუარის 0

აბრუნებს N-ის კვადრატულ ფესვს. VBA აჩვენებს შეცდომას

შესრულების დრო, თუ- უარყოფითი

მონაცემთა კონვერტაციის ფუნქციები

Visual Basic უზრუნველყოფს რამდენიმე ფუნქციას მონაცემთა ერთი ტიპის მეორეზე გადასაყვანად (ცხრილი 16). გამოიყენეთ ეს ფუნქციები ტიპების შეუსაბამობის შეცდომების მოსაგვარებლად და გამოსახულებებში მონაცემთა ტიპების აშკარა კონტროლის უზრუნველსაყოფად.

ცხრილი 16- მონაცემთა კონვერტაციის ფუნქციები (N არის ნებისმიერი რიცხვითი, S არის ნებისმიერი სტრიქონი და E არის ნებისმიერი ტიპის გამოხატულება)

ფუნქცია (ar- Returns/Actionგუგები)

აბრუნებს სიმბოლოს კოდის ნომერს, რომელიც შეესაბამება პირველ ასოს ხაზები. ასო "A", მაგალითად, აქვს 65 სიმბოლოს კოდი

ფუნქცია (არგუმენტები)

დაბრუნება/მოქმედება

აბრუნებს ერთი სიმბოლოს სტრიქონს N სიმბოლოს კოდის შესაბამისი, რომელიც უნდა იყოს რიცხვი 0-დან 255-მდე, მათ შორის. სიმბოლოს კოდი 65, მაგალითად, აბრუნებს ასო "A" (Chr(13) არის ვაგონის დაბრუნების სიმბოლო, Chr(10) არის ხაზის ცვლის სიმბოლო)

აბრუნებს სტრიქონს, რომელიც შეიცავს მნიშვნელობას გამოსახულებით E, ფორმატში S-ში მოცემული ინსტრუქციის მიხედვით

აბრუნებს სტრიქონს, რომელიც შეიცავს N-ის თექვსმეტობით გამოსახულებას

Oct(N) აბრუნებს სტრიქონს, რომელიც შეიცავს N-ის რვავიან წარმოდგენას

აბრუნებს ტიპის მთელ რიცხვს გრძელი A, რომელიც წარმოადგენს გამოსახულების ძირითადი ფერების მნიშვნელობას. N თითოეულ არგუმენტში უნდა იყოს მთელი რიცხვი 0 - 255 დიაპაზონში, მათ შორის. არგუმენტები (მარცხნიდან მარჯვნივ) არის წითელი, მწვანე და ლურჯის მნიშვნელობები.

Str(N) აბრუნებს N რიცხვითი გამოხატვის ეკვივალენტურ სტრიქონს

აბრუნებს რიცხვით მნიშვნელობას, რომელიც შეესაბამება S სტრიქონით გამოსახულ რიცხვს, რომელიც უნდა შეიცავდეს მხოლოდ ციფრებს და ერთ ათობითი წერტილს, წინააღმდეგ შემთხვევაში VBA ვერ გადააქცევს მას რიცხვად. თუ VBA ვერ გადააქცევს სტრიქონს S-ად, მაშინ Val ფუნქცია აბრუნებს 0-ს

CBool(N) აბრუნებს N რიცხვითი გამოხატვის ლოგიკურ ეკვივალენტს

ბაიტები(0-დან 255-მდე); E არის ნებისმიერი მოქმედი რიცხვითი ან სტრიქონი გამოხატულება, რომელიც შეიძლება გადაკეთდეს რიცხვად

აბრუნებს ტიპის ციფრულ მნიშვნელობას ვალუტა

აბრუნებს ტიპის მნიშვნელობას თარიღი. E შეიძლება იყოს ნებისმიერი სწორი გამოხატულება (სტრიქონი ან რიცხვი), რომელიც წარმოადგენს თარიღს დიაპაზონში 1/1/100 12/31/9999 , ინკლუზიური

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

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

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

ფუნქცია (არგუმენტები)

დაბრუნება/მოქმედება

აბრუნებს ტიპის ციფრულ მნიშვნელობას Მარტოხელა; E არის ნებისმიერი მოქმედი რიცხვითი ან სტრიქონი გამოხატულება, რომელიც შეიძლება გადაკეთდეს რიცხვად

აბრუნებს ტიპის მნიშვნელობას სიმებიანი; E - ნებისმიერი მოქმედი რიცხვითი ან სტრიქონის გამოხატულება

აბრუნებს ტიპის მნიშვნელობას ვარიანტი; E - ნებისმიერი მოქმედი რიცხვითი ან სტრიქონის გამოხატულება

თარიღი და დროის ფუნქციები

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

ცხრილი 17– თარიღისა და დროის ფუნქციები (N არის ნებისმიერი მოქმედი რიცხვითი გამოხატულება, ხოლო D არის ნებისმიერი მოქმედი გამოხატულება, როგორიცაა თარიღი(მნიშვნელობების ჩათვლით, როგორიცაა თარიღი, რიცხვები ან სტრიქონები, რომლებიც VBA-ს შეუძლია გადაიყვანოს თარიღად); ყველა ფუნქციის არგუმენტი საჭიროა, თუ სხვა რამ არ არის მითითებული)

დაბრუნება/მოქმედება

ფუნქციები (ar-

გუგები)

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

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

თარიღიდა

აბრუნებს მთელ რიცხვს, რომელიც არის ტიპის გამოხატვის ნაწილი თარიღი,

ინკლუზიური

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

სამუშაო დღე (D) საათი (D)

ინკლუზიური

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

თარიღი. კვირის დღე ბრუნდება როგორც რიცხვი 1-დან 7-მდე,

ინკლუზიური; 1 არის კვირა, 2 არის ორშაბათი და ა.შ.

აბრუნებს საათების შემცველ მთელ რიცხვს დროის ნაწილად,

რიცხვი 0-დან 23-მდე ჩათვლით. თუ გამოხატულება D არ არის

შეიცავს დროის მნიშვნელობებს, მაშინსაათიაბრუნებს 0

ფუნქციები (ar-გუგები)

DateAdd(S, N, დ)

სერიალის თარიღი (N, N, N)

დროის სერია (N, N, N)

დაბრუნება/მოქმედება

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

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

და 59-ის ჩათვლით. თუ გამოხატულება D არ შეიცავს მნიშვნელობას

დროწუთიაბრუნებს 0

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

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

0 და 59 ჩათვლით. თუ გამოხატულება D არ შეიცავს მნიშვნელობას

დრომეორეაბრუნებს 0

აბრუნებს მნიშვნელობას [ტიპი ვარიანტი(თარიღი)], რომელიც შეიცავს თარიღს

DateDiff(S, D1, აბრუნებს მნიშვნელობას [ტიპი ვარიანტი(გრძელი)] დროებითი რაოდენობა D2[,Nl [, 2 ]]) ინტერვალები ორ კონკრეტულ თარიღს შორის DatePart(S, D, [, აბრუნებს მითითებულ ნაწილს [ტიპი ვარიანტი(მთელი რიცხვი)] 1 [, 2]]) მოცემული თარიღი

რომელსაც ემატება მოცემული დროის ინტერვალი

აბრუნებს თარიღის თანმიმდევრულ მნიშვნელობას მოცემული თარიღისთვის. მარცხნიდან მარჯვნივ არგუმენტები წარმოადგენს წელიწადს, თვეს და დღეს. წლის არგუმენტი უნდა იყოს მთელი რიცხვი 100-დან 9999-მდე, თვეები 1-დან 12-მდე, დღეები 1-დან 31-მდე (ყველა დიაპაზონი მოიცავს)

აბრუნებს სერიული დროის მნიშვნელობას. მარცხნიდან მარჯვნივ, არგუმენტები წარმოადგენს საათებს, წუთებსა და წამებს. საათის არგუმენტი უნდა იყოს მთელი რიცხვი 0-დან 23-მდე, არგუმენტები წუთი და წამი ორივე უნდა იყოს რიცხვები 0-დან 59-მდეაბრუნებს ტიპის მნიშვნელობას თარიღი, ექვივალენტური E არგუმენტით მოცემული თარიღის, რომელიც უნდა იყოს სტრიქონი, რიცხვი ან მუდმივი, რომელიც წარმოადგენს თარიღს

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

სიმებიანი ფუნქციები

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

აბრუნებს ტიპის მნიშვნელობას თარიღი A, რომელიც შეიცავს E არგუმენტით მითითებულ დროს, რომელიც შეიძლება იყოს სტრიქონი, რიცხვი ან მუდმივი წარმომადგენლობითი დროაბრუნებს რიცხვს, რომელიც წარმოადგენს წამების რაოდენობას

ცხრილი 18- სტრიქონის ფუნქციები (N არის ნებისმიერი მოქმედი რიცხვითი გამოხატულება, ხოლო S არის ნებისმიერი სწორი სტრიქონის გამოხატულება)

ნაღები)

აბრუნებს S2-ის პოზიციას S1-ში. N1 არის საწყისი პოზიცია

ძებნა; N2 განსაზღვრავს შედარების ტიპს. N1 და N2 არჩევითია. თუ N2 გამოტოვებულია, მაშინ დენი ინსტალაციავარიანტი შეადარე InStrRev(Sl, S2 აბრუნებს პოზიციას, სადაც S2 სტრიქონი გამოჩნდება S1-ში

[, Nl[, N2]]) LCase(S)

Len(S) LTrim(S)

სივრცე (N) StrComp(Sl, S2, N)

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

აბრუნებს სტრიქონს (ტიპი სიმებიანი) შეიცავს S-ის ასლს ყველა დიდი ასოებით გადაყვანილი სიმბოლოებად მცირე ასო

აბრუნებს სტრიქონს; აკოპირებს N სიმბოლოს S-დან, დაწყებული მარცხნიდან ექსტრემალური ხასიათი

აბრუნებს სიმბოლოების რაოდენობას S-ში, მათ შორის, წამყვანი და ბოლო სივრცეები

სიმის მარცხენა მხრიდან (წამყვანი სივრცეები)აბრუნებს სტრიქონს; აკოპირებს N2 სიმბოლოებს S-დან, დაწყებული N1 არგუმენტით მითითებული S სიმბოლოების პოზიციიდან. N2 არჩევითია; თუ N2 გამოტოვებულია, მაშინ Mid აბრუნებს ყველაფერს სიმბოლოები სტრიქონშიპოზიციიდან1 ხაზის ბოლომდეაბრუნებს String ტიპის მნიშვნელობას; აკოპირებს N სიმბოლოს S-დან,

ყველაზე მარჯვენა პერსონაჟიდან დაწყებული

აბრუნებს S სტრიქონის ასლს უფსკრული სიმბოლოების წაშლის შემდეგ

სტრიქონის მარჯვენა მხრიდან (ტერმინალური სიმბოლოები)

აბრუნებს სიგრძის სივრცეების სტრიქონსსიმბოლოები

ადარებს S1-ს S2-ს და აბრუნებს რიცხვს, რომელიც მიუთითებს შედარების შედეგზე: -1 თუ SI< S2; 0, если SI = S2; 1, если SI >S2. N არასავალდებულოა და მიუთითებს, უნდა იყოს თუ არა შედარება რეგისტრის მიმართ მგრძნობიარე. თუ N გამოტოვებულია, სტრიქონები შედარებულია მიმდინარე პარამეტრის გამოყენებით. ვარიანტიშეადარე

აბრუნებს კონვერტირებულ სტრიქონს ახალი ფორმა N არგუმენტით განსაზღვრული რიცხვითი კოდის მიხედვით VBA უზრუნველყოფს შიდა მუდმივებს StrConv ფუნქციით გამოსაყენებლად; ყველაზე სასარგებლოა: vbProperCase(აკონვერტირებს სტრიქონს ისე, რომ ყველა ასო, რომელიც იწყებს სიტყვას, მთავრდება), vbLowerCase(სტრიქონს გარდაქმნის პატარა ასოებად) და vbUpperCase(სტრიქონს გარდაქმნის დიდ ასოებად)

ფუნქცია (ar- Returns/Actionნაღები)

String(N, S) აბრუნებს N სიგრძის სიმბოლოების სტრიქონს, რომელიც შედგება სიმბოლოსგან

მოცემული პირველი პერსონაჟის მიერ Trim(S) აბრუნებს S სტრიქონის ასლს წამყვანი და

ამ სტრიქონიდან უფსკრული სიმბოლოები UCase(S) აბრუნებს S-ს ყველა მცირე ასოებით,

გარდაიქმნება დიდ ასოებშირამდენიმე ჩამოთვლილია ცხრილში. მონაცემთა ტიპის კონვერტაციის 16 ფუნქცია ასევე ვრცელდება სტრიქონების მანიპულირებაზე: კერძოდ, Chr, Format, CStr.

მონაცემთა მნიშვნელობების ფორმატირება

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

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

ფორმატი ( გამოხატულება [, ფორმატი[, კვირის პირველი დღე [, წლის პირველი კვირა]]])

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

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

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

მაგალითად, რიცხვითი მნიშვნელობა არის 1234.5.

ჩვეულების შესაქმნელად

ცხრილი 19– ჩააფორმეთ ადგილი

ჩანაცვლების სიმბოლო

მოქმედება

რიცხვითი სიმბოლო, აჩვენებს ციფრს, თუ არის ერთი ამ პოზიციაზე, ან 0-ს, თუ არ არის. თქვენ შეგიძლიათ გამოიყენოთ სიმბოლო 0 მთელი რიცხვებისთვის წამყვანი ნულების საჩვენებლად, ხოლო ათწილადების შემდგომი ნულები; 00000.000 აჩვენებს 00124,500

რიცხვითი სიმბოლო, აჩვენებს ციფრს, თუ არის ერთი ამ პოზიციაზე, წინააღმდეგ შემთხვევაში არაფერს აჩვენებს. შევსების სიმბოლო # უდრის 0-ს, გარდა იმისა, რომ არ არის გამოსახული წამყვანი და ბოლო ნულები; #####.### აჩვენებს 1234.5

$ აჩვენებს დოლარის ნიშანს; $###,###.00 აჩვენებს $1,234.50

ათწილადი ჩანაცვლება, აჩვენებს ათობითი წერტილის მითითებულ პოზიციაზე ჩანაცვლების სტრიქონში 0; #.##.## აჩვენებს 1234.5

პროცენტული სიმბოლო, ამრავლებს მნიშვნელობას 100-ზე და ამატებს პროცენტის ნიშანს 0 ადგილზე მითითებულ პოზიციაზე; #0.00% აჩვენებს რიცხვს 0.12345, როგორც 12.35% (12.345 მრგვალდება 12.35-მდე)

, (მძიმით)

ათასი გამყოფი, ამატებს მძიმეებს, როგორც ათასობით გამყოფები ადგილმდებარეობის სიმბოლოების სტრიქონებში 0 და #; ###,###,###. 00 აჩვენებს 1,234.50

აჩვენებს მნიშვნელობებს ექსპონენციალურ ფორმატში ექსპონენტის ნიშნით მხოლოდ უარყოფითი მნიშვნელობებისთვის; #.#### 00 აჩვენებს 1.2345E03; 0.12345 ნაჩვენებია როგორც 1.2345E-01

აჩვენებს მნიშვნელობებს ექსპონენციალურ ფორმატში დადებითი და უარყოფითი მნიშვნელობების მაჩვენებლით; #.#### E+00აჩვენებს 1.2345E+03

გამოყოფს დღე, თვე და წელი თარიღის მნიშვნელობების ფორმატირებისთვის. მმ/ დ.დ/ წ.წაჩვენებს 06/06/97. "/" სიმბოლოები შეიძლება შეიცვალოს დეფისის სიმბოლოებით, რათა გამოჩნდეს 06-06-97

განსაზღვრავს, თუ როგორ უნდა აჩვენოს თვეები თარიღებში; აჩვენებს 2, მმ– 02, ჰმმ- თებერვალი მმმმ- Თებერვალი

განსაზღვრავს, თუ როგორ უნდა აჩვენოს დღეები თარიღებში; აჩვენებს 1, დ.დაჩვენებს 01, დდდ- პარასკევი, დდდდ- პარასკევი

y აჩვენებს წელიწადის დღეს, როგორც რიცხვს 1-დან 366-მდე

განსაზღვრავს, თუ როგორ უნდა აჩვენოს წლები თარიღებში; წ.წაჩვენებს 99, უუუუ– 1999

აჩვენებს წლის კვარტალს, როგორც რიცხვს 1-დან 4-მდე

აჩვენებს კვირის დღეს რიცხვად (1 არის კვირა)

აჩვენებს წელიწადის კვირას, როგორც რიცხვს 1-დან 54-მდე

ჩანაცვლების სიმბოლო

მოქმედება

: (წერტილი) გამოყოფს საათებს, წუთებს და წამებს დროის ფორმატის მნიშვნელობებში; სთ: მმ: სსაჩვენებს 02:02:02

განსაზღვრავს საათის ჩვენებას; დროის მნიშვნელობისთვის 02:01:38 აჩვენებს 2, სთაჩვენებს 02

წუთის ადგილსამყოფელი დროისთვის; დროის მნიშვნელობისთვის 02:01:08 აჩვენებს 1 და nnაჩვენებს 01

წამების ადგილი დროისთვის; დროის მნიშვნელობისთვის 02:01:08 აჩვენებს 8 და სსაჩვენებს 08

აჩვენებს დროს 12-საათიანი დროის ფორმატში დამატებული AM და PM; : nnᲨᲣᲐᲓᲦᲔᲛᲓᲔ ᲨᲣᲐᲦᲐᲛᲔᲛᲓᲔაჩვენებს საღამოს 4:00 საათს. ალტერნატიული ფორმატები მოიცავს am/pm, A/P და a/p

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

აჩვენებს ყველა სიმბოლოს დიდი ასოებით

აჩვენებს ყველა სიმბოლოს მცირე ასოებით

მასპინძელი აპლიკაციის ფუნქციების გამოყენება

Visual Basic აპლიკაციებისთვის ჩაშენებული ფუნქციების გარდა, VBA ჰოსტის აპლიკაციის ზოგიერთი ფუნქცია ხელმისაწვდომია VBA კოდიდან. მასპინძელი- აპლიკაციაარის აპლიკაცია, რომელიც ავითარებს VBA პროცედურებს, როგორიცაა Word, Excel, PowerPoint, Outlook ან FrontPage. მაგალითად, Excel-ს აქვს სხვადასხვა ფუნქციები, რომლებიც ასრულებენ მათემატიკურ, ლოგიკურ, ფინანსურ და სტატისტიკურ ოპერაციებს სამუშაო ფურცლებზე მოცემულ მონაცემებზე. Excel-ის ამ ფუნქციებიდან ბევრი (თუმცა არა ყველა) ხელმისაწვდომია VBA კოდიდან. ჰოსტის აპლიკაციის ფუნქციები, რომლებიც ხელმისაწვდომია VBA-სთვის, არ არის VBA-ს ნაწილი, ისინი ჰოსტის აპლიკაციის ნაწილია. VBA-სთვის ხელმისაწვდომი ფუნქციები ერთ მასპინძელ აპლიკაციაში შეიძლება არ იყოს ხელმისაწვდომი მეორეში.

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

დავალება 6.დაწერეთ პროცედურა, რომელიც იყენებს Excel ფუნქციას Max.

Ამისთვის:

შეიყვანეთ პროცედურა (ჩამონათვალი 8):

ჩამონათვალი 8 - Excel ფუნქციის გამოყენებამაქს

1 ქვე სია3_08()

2 MsgBox Application.Max(9, 17, -18, 20)

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

განაცხადი.

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

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

საკონტროლო კითხვები

    განსაზღვრეთ „მონაცემთა ტიპების“ ცნება. რა მონაცემთა ტიპები გამოიყენება VBA-ში?

    რა არის იდენტიფიკატორი?

    რა არის ცვლადი? რას ნიშნავს გამოთქმა "განსაზღვრეთ ცვლადი იმპლიციტურად" და რას ნიშნავს "გამოკვეთილად"?

    რა მუდმივები გამოიყენება VBA-ში? რა არის შიდა მუდმივები?

    რისთვის არის InputBox და MsgBox ფუნქციები?

    რა არის გამოხატულება?

    განსაზღვრეთ მინიჭების ოპერატორის სინტაქსი.

    რა არის ურთიერთობითი ოპერაციები?

    რა არის მათემატიკური მოქმედებების პრიორიტეტი?

    რა საკვანძო სიტყვა არსებობს VBA-ში წვდომისას გამოსაყენებლად Excel ფუნქციები? რისთვის შეგიძლიათ გამოიყენოთ Object Browser ფანჯარა?

  • ლოგიკური- ლოგიკური მონაცემთა ტიპს შეუძლია შეინახოს მხოლოდ ორი მნიშვნელობა: True ან False, True ან False. მისი გამოყენება მთელი რიცხვების ცვლადების ნაცვლად კარგი პროგრამირების სტილია.
  • ბაიტები- ბაიტის ტიპი ახალია Visual Basic 5-ში და შექმნილია მთელი რიცხვების შესანახად 0-დან 255-მდე. მისი გამოყენება საშუალებას გაძლევთ მნიშვნელოვნად დაზოგოთ ოპერატიული მეხსიერება და შეამციროთ მასივების ზომა შედარებით. წინა ვერსიები Visual Basic. გარდა ამისა, იგი გამოიყენება ბინარულ ფაილებთან მუშაობისას.
  • ვალუტა - მოცემული ტიპიარ არსებობს GW-BASIC და QuickBASIC ვერსიებში. იგი შექმნილია კონვერტაციის შეცდომების თავიდან ასაცილებლად. ათობითი რიცხვებიორობით ფორმამდე და პირიქით. (შეუძლებელია 1/10-ის წარმოდგენა 1/2, 1/4, 1/8, 1/16 და ა.შ. ჯამის სახით) ამ ტიპს შეიძლება ჰქონდეს 4 ციფრი ათწილადის წერტილის შემდეგ, ხოლო 14-მდე მანამდე. ის. ამ დიაპაზონში, გამოთვლები ზუსტი იქნება. იდენტიფიკატორი არის "@" სიმბოლო. ვინაიდან ყველა არითმეტიკული ოპერაცია, გარდა შეკრებისა და გამოკლებისა, შესრულებულია ისეთივე ნელა, როგორც ორმაგი სიზუსტის ცვლადების შემთხვევაში, ამ ტიპის უპირატესობა ენიჭება ფინანსურ გამოთვლებს. (მათთვის გაინტერესებთ, ეს ტიპი იყენებს 19-ციფრიან მთელ რიცხვებს, რომლებიც შემდეგ იყოფა 10000-ზე. ეს იძლევა 15 ათობითი და 4 ათწილადს.)
  • თარიღი- მონაცემთა ეს ტიპი საშუალებას გაძლევთ შეინახოთ დროისა და თარიღის მნიშვნელობები 9999 წლის 1 იანვრის შუაღამესა და 31 დეკემბრის შუაღამეს შორის. პროგრამის ტექსტში ასეთი მნიშვნელობები აღინიშნება "#" სიმბოლოებით, მაგალითად: NewYear = #1 იანვარი, 2000# თუ შეყვანილია მხოლოდ თარიღის მნიშვნელობა, Visual Basic ვარაუდობს, რომ დრო არის 00:00.
  • ათწილადიარის ყველაზე ძლიერი რიცხვითი ტიპი. ამ ტიპის ცვლადის შესანახად გამოიყოფა 16 ბაიტი. იმ ინტერვალის უარყოფითი და დადებითი საზღვრები, რომელშიც განთავსებულია ამ ცვლადის შესაძლო მნიშვნელობები, იგივეა აბსოლუტური მნიშვნელობით და ტოლია +/- 79 228 162 514 264 337 593 543 950 335, თუ გამოიყენება მთელი რიცხვები. თუ საჭიროა წილადური მნიშვნელობების შენახვა, მაშინ შესაძლო მნიშვნელობების საზღვრები გადაინაცვლებს სიდიდის რამდენიმე რიგით, იმისდა მიხედვით, თუ რამდენ ათწილადს იყენებს დეველოპერი. ამ ტიპის გამოყენება შესაძლებელია მხოლოდ ათწილადების შესანახად. დეველოპერს შეუძლია გამოიყენოს 28 ათწილადამდე.
  • Ორმაგი- ამ ტიპის ცვლადები საშუალებას გაძლევთ შეინახოთ რიცხვები 16 ციფრის სიზუსტით და 300 სიმბოლომდე სიგრძით. იდენტიფიკატორი არის "#". მათთან გამოთვლებიც მიახლოებითია და მათი სიჩქარე შედარებით მცირეა. ორმაგი ცვლადები ძირითადად გამოიყენება სამეცნიერო გამოთვლებისთვის.
  • მთელი რიცხვი- მთელი რიცხვის ცვლადებს შეუძლიათ მხოლოდ შედარებით მცირე რიცხვების შენახვა (-32768 და +32767 შორის). არითმეტიკული მოქმედებებიმეტი ასეთი რიცხვები შესრულებულია ძალიან სწრაფად. სიმბოლო "%" გამოიყენება ამ ტიპის აღსანიშნავად: IntegerPerem% = 3
  • გრძელი- ეს ტიპი პირველად გამოჩნდა QuickBASIC ენაზე. ასეთი ცვლადები ინახავს მთელ მნიშვნელობებს -2 147 483 648-დან +2 147 483 647-მდე. აღინიშნება სიმბოლოთი "&". არითმეტიკული ოპერაციები ასეთ რიცხვებზე ასევე ძალიან სწრაფია და 386DX ან 486DX პროცესორთან მუშაობისას, მხოლოდ მცირე განსხვავება იყო გამოთვლის სიჩქარეში Long-სა და Integer-ს შორის. LongPerem& = 123456789
  • ობიექტი- სინამდვილეში, ამ ტიპის ცვლადი არის მხოლოდ ობიექტის კონკრეტული მაგალითის მითითება. ცვლადი ინახება 4 ბაიტში.
  • Მარტოხელა- ამ რიცხვების იდენტიფიკატორი არის სიმბოლო "!". ამ ტიპის ცვლადი საშუალებას გაძლევთ შეინახოთ წილადი რიცხვები შვიდი ციფრიდან. ეს ნიშნავს, რომ თუ შედეგი არის 12345678.97, მაშინ 8.97 ნაწილი არ არის ზუსტი. შედეგი შეიძლება იყოს, მაგალითად, 12345670.01. რიცხვები შეიძლება იყოს 38 სიმბოლომდე. ამ ცვლადებით გამოთვლები ასევე იქნება მიახლოებითი. უფრო მეტიც, არითმეტიკა უფრო ნელია, ვიდრე მთელი რიცხვების ცვლადები.
  • სიმებიანი- სიმებიანი ცვლადები ინახავს სიმბოლოებს. ამ ტიპის ცვლადის აღნიშვნის ერთ-ერთი გზაა მისი სახელის ბოლოს "$" სიმბოლოს დამატება, მაგალითად: StringPerem$. თეორიულად, ასეთი ცვლადი შეიძლება შეიცავდეს 2 მილიარდ სიმბოლოს. ნებისმიერ შემთხვევაში, კონკრეტულ კომპიუტერზე ეს რიცხვი გაცილებით ნაკლები იქნება შეზღუდული მოცულობის გამო. შემთხვევითი წვდომის მეხსიერება, Windows რესურსები ან ფორმაში გამოყენებული სიმბოლოების რაოდენობა. სიმებიანი ცვლადების ერთ-ერთი ყველაზე ძირითადი გამოყენება არის ინფორმაციის შერჩევა შეყვანის ველებიდან.

მაგალითად, თუ ტექსტს შეცვლით ტექსტურ ყუთში 1, ტექსტის ყუთში გამოჩნდება იგივე ტექსტი, მაგრამ ბოლო სიმბოლოს გარეშე მარჯვნივ:

Option Explicit Dim strText As String Private Sub Form_Load() Text1.Text = "" Text2.Text = "" დასრულება Sub Private Sub Text1_Change() შეცდომის შემთხვევაში განაახლეთ შემდეგი Text2.Text = strText strText = Left(Text1.Text, Len(ტექსტი1 .ტექსტი) - 1) დასასრული ქვე

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

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

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