Vba loģiski vai. VBA operatori un iebūvētās funkcijas. Nepareiza pārsūtīšana Pareiza pārsūtīšana

Parametra nosaukums Nozīme
Raksta tēma: VBA operatori
Rubrika (tematiskā kategorija) Programmēšana

VBA ir operatora valoda. Tas nozīmē, ka tās programmas (procedūras vai funkcijas) attēlo paziņojumu secības.

VBA valodā mēs varam atšķirt šādas grupas operatori:

1. deklaratīvie operatori, kas paredzēti, lai aprakstītu objektus, ar kuriem programma darbojas (mainīgo, konstantu un masīvu veidi utt.),

2. komentāru paziņojumi,

3. operatori objektu vērtību piešķiršanai un mainīšanai,

4. operatori, kas kontrolē aprēķinu norisi (nosacītie, cikliskie, pārejas).

IN šis kurss Tiks apskatīti pamata operatori, un daži, piemēram, cikliskie, tiks pasniegti trīs veidos, bet studentiem jāapgūst tikai viens, kā lietošanai saprotamākais.

Komentāru operators

Komentāri neietekmē programmas izpildi, bet ir nepieciešami algoritma izpratnei. Tā kā programmas tiek atjauninātas daudzas reizes, ir ļoti svarīgi izmantot komentārus, lai palīdzētu atcerēties algoritmu un pareizi to mainīt.

Jebkura programmas teksta rindiņa var beigties ar komentāru. Komentārs VBA sākas ar apostrofu (") un ietver jebkuru tekstu pa labi no rindas.

Piemēram,

Svars= svars+z "Svara pieauguma vērtība=svars*cena "Jaunas izmaksas

Piešķiršanas operators

Piešķiršanas operatori ir galvenais līdzeklis programmas stāvokļa (mainīgo vērtību) maiņai. Tā ir konstrukcija, kas savieno = zīmi starp mainīgo (kreisajā pusē) un izteiksmi (labajā pusē). Izteiksme sastāv no operandiem (mainīgo nosaukumi, konstantes, standarta funkciju nosaukumi) un darbību simboliem (aritmētiskā, loģiskā, virkne, salīdzinājums). Šī operatora nozīme ir tāda, ka kreisajai pusei tiek piešķirta labās puses vērtība.

Kontroles paziņojumi

VBA vadības paziņojumu kopa atbilst strukturēta valoda programmēšana. IN šis komplekts iekļauts nosacījuma un cilpas paziņojumi, kas ļauj droši un efektīvi organizēt aprēķinu procesu.

Nosacīts paziņojums Ja Tad Citādi Beigas Ja

Šis ir programmēšanas valodās plaši izmantots aprēķinu vadības operators, kas ļauj atlasīt un veikt darbības, pamatojoties uz noteikta nosacījuma patiesumu.

VBA operatori - jēdziens un veidi. Kategorijas "VBA operatori" klasifikācija un pazīmes 2017, 2018.

  • - Dzīvības un daudzuma saglabāšanas operatori

    Šī Ciparnīcas kategorija TRIZ ir parādīta kā “princips Nr. 34, detaļu izmešana un atjaunošana: a) Objekta daļa, kas ir izpildījusi savu mērķi vai kļuvusi nevajadzīga, ir jāizmet (izšķīdina, jāiztvaicē utt.) vai jāmaina. tieši darba gaitā. b)....


  • - VBA valodas elementi

    Rīsi. 12.1 Formā izvietotie objekti 6. Formā aktivizējot katru objektu atsevišķi, iestatām tā rekvizītu, izmantojot rekvizītu logu (Properties 12.2. att.). Tādējādi tiek izveidots interfeiss (12.3. att.). Rīsi. 12.3. Projekta saskarne (ar...


  • - Nosacīti paziņojumi

    Saliktais operators. Strukturālie operatori Procedūras izsaukuma operators Beznosacījuma lēciena operators Beznosacījuma lēciena operators nodrošina iespēju mainīt izpildes secību... .


  • - Salikti nosacījuma paziņojumi

    Dažkārt, risinot problēmas, rodas situācija, kad zaros ietvertie operatori savukārt var saturēt citus nosacītos operatorus. Tos sauc par saliktajiem operatoriem. Turklāt investīciju skaits vai, kā mēdz teikt, investīciju līmenis var būt... .


  • - VBA pamati

    Visual Basic Lietojumprogrammai (VBA) ir vienas no vienkāršākajām programmēšanas valodām un visu Excel izklājlapas skaitļošanas iespēju kombinācija. Izmantojot VBA, jūs varat viegli un ātri izveidot dažādas lietojumprogrammas, pat ja neesat eksperts šajā jomā...

  • Īsa teorētiskā informācija

    1. VBA programmēšanas valodas sintakse un semantika

    Programmēšanas valodas sintakse ir noteikumu kopums, kas apraksta alfabēta rakstzīmju kombinācijas, kuras tiek uzskatītas par pareizi strukturētu programmu (dokumentu) vai tās fragmentu.

    Šīs valodas sintaktiskie pamatprincipi ir šādi:

    • VBA nav reģistrjutīga;
    • lai komentētu kodu līdz rindas beigām, izmantojiet viens citāts(") vai REM komanda;
    • rakstzīmju vērtības jāiekļauj dubultpēdiņās (");
    • jebkura nosaukuma maksimālais garums VBA (mainīgie, konstantes, procedūras) ir 255 rakstzīmes;
    • jauna izraksta sākums - pārskaitījums uz jauna līnija(semikolu, tāpat kā C, Java, JavaScript, šim nolūkam neizmanto);
    • ierobežojumi uz maksimālais garums rindiņas nav (lai gan redaktorā vienā rindā ietilps tikai 308 rakstzīmes). Vairāki apgalvojumi vienā rindā tiek atdalīti ar koliem:
      MsgBox "Check 1" : MsgBox "Check 2"
    • Lai atvieglotu lasīšanu, varat apvienot vairākas fiziskas rindiņas vienā loģiskā rindā, izmantojot atstarpi un pasvītrojumu aiz tās:
      MsgBox "Ziņojums lietotājam" _
      &vLietotāja vārds

    Valodas semantika ir vārdu semantiskā nozīme. Programmēšanā - operatoru sākotnējā semantiskā nozīme, valodas pamatkonstrukcijas utt.

    Operators ir mazākā VBA koda vienība, ko var izpildīt. Paziņojums var deklarēt vai definēt mainīgo, iestatīt VBA kompilatora opciju vai veikt kādu darbību programmā.

    Aritmētika VBA ir tikai 7 operatori.

    Četri standarta: saskaitīšana (+), atņemšana (-), reizināšana (*), dalīšana (/) un vēl trīs:

    • paaugstināšana (^). Piemēram, 2^3 = 8;
    • veselu skaitļu dalījums (\). Sadala pirmo skaitli ar otro, atmetot (bez noapaļošanas) daļējo daļu. Piemēram, 5\2 = 2;
    • modulo nodaļa (Mod). Sadala pirmo skaitli ar otro, atgriežot tikai dalījuma atlikušo daļu. Piemēram, 5 Mod 2 = 1.

    Piešķiršanas operators VBA ir vienādības zīme. Jūs varat to uzrakstīt šādi:

    Ļaujiet nVar = 10
    vai pat vienkāršāk:
    nVar = 10

    Šeit nejauciet vienādības zīmi ar vienādības operatoru. Pēdējā izteiksme nozīmē "iestatiet nVar vērtību uz 10", un, ja rinda izskatās šādi: If (nVar = 10) , tad tas nozīmē "ja nVar vērtība ir 10".

    Salīdzināšanas operatori VBA ir tikai 8:

    • vienlīdzība (=). Piemēram, If (nVar = 10);
    • lielāks par (>) un mazāks par (10);
    • lielāks vai vienāds ar (>=) un mazāks vai vienāds ar (= 10);
    • nav vienāds (). Piemēram, If(nVar10);
    • objektu salīdzinājums (Is). Nosaka, vai objekta mainīgie attiecas uz vienu un to pašu objektu vai uz dažādiem. Piemēram, If (obj1 ir obj2);
    • līdzība (Patīk). Salīdzina virknes objektu ar paraugu un nosaka, vai raksts atbilst.

    Salīdzināšanas operatori vienmēr atgriežas Taisnība(ja apgalvojums ir patiess) vai Nepatiesi(ja apgalvojums ir nepatiess).

    Ļoti bieži, pārbaudot vairākus nosacījumus, viņi izmanto loģiskie operatori:

    • Un - loģiski UN Abiem nosacījumiem jābūt patiesiem;
    • Vai arī - loģiski VAI. Vismaz vienam no nosacījumiem ir jābūt patiesam;
    • Nav - loģisks noliegums. Atgriež True, ja nosacījums ir nepatiess;
    • Xor ir loģisks izņēmums. Izteiksmē E1 X vai E2 atgriež True, ja tikai E1 = patiess vai tikai E2 = patiess, pretējā gadījumā False;
    • Eqv - divu izteiksmju ekvivalence, atgriež True, ja tām ir vienāda vērtība;
    • Imp — implikācija, E1 Imp E2 atgriež False, ja E1 = True un E2 = False, pretējā gadījumā True.

    Jums ir jāatceras par Un, vai, nē, citi loģiskie operatori tiek izmantoti reti.

    Mainīgie lielumi- Tie ir konteineri maināmu datu glabāšanai. Gandrīz neviena programma nevar iztikt bez tiem. Vienkāršības labad mainīgo var salīdzināt ar skaitli drēbju skapī - jūs iedodat drēbju skapim dažus datus, un atbildē jums tiek dots skaitlis. Kad šie dati ir nepieciešami vēlreiz, jūs “uzrādat numuru” un saņemat to.

    Katram mainīgajam ir nosaukums. Mainīgajam var piekļūt pēc nosaukuma. Noteikumi vārdu izvēlei VBA ir vienādi daudziem elementiem (mainīgie, konstantes, funkcijas, procedūras utt.):

    • vārdam jāsākas ar burtu;
    • nedrīkst saturēt atstarpes vai pieturzīmju simbolus (izņēmums ir pasvītra);
    • maksimālais garums - 255 rakstzīmes;
    • ir jābūt unikālam pašreizējā tvērumā
    • rezervētos vārdus (tos, kas koda redaktora logā ir iezīmēti zilā krāsā) nevar izmantot.

    Veidojot VBA programmas, ieteicams izlemt par noteikumiem, pēc kuriem tiks nosaukti objekti - nosaukšanas konvencija. Visbiežāk izmantotais ir tā sauktais Ungārijas līgums (par godu vienam no Microsoft programmētājiem Charles Simonyi, ungārs pēc tautības):

    • Mainīgā nosaukumam jāsākas ar prefiksu, kas rakstīts ar mazajiem burtiem. Prefikss norāda, kas tieši tiks saglabāts šajā mainīgajā:
      str (vai s) - virkne, rakstzīmju vērtība;
      fn (vai f) - funkcija;
      apakšprocedūra;
      c (vai visi vārda burti ir lielie) - nemainīgs(konteiners datu glabāšanai, kas atšķirībā no mainīgajiem VBA programmas izpildes laikā nemainās);
      b - Būla, loģiskā vērtība (True vai False);
      d - datums;
      obj (vai o) - objekta atsauce;
      n - skaitliskā vērtība;
    • funkciju nosaukumiem, metodēm un katram vārdam saliktajā vārdā jāsākas ar lielo burtu:
      MsgBox objMyDocument.Name
      Sub CheckDateSub()

    Datu tips tiek uzskatīti par jebkuras programmēšanas valodas pamatjēdzieniem. Datu tips nosaka derīgo vērtību kopu, ko vērtība (mainīgais vai konstante) var veikt, un darbību kopu, ko var veikt ar šo vērtību.

    2. Pamata VBA datu tipi

    VBA nodrošina šādus datu tipus:

    • ciparu:
      baits- vesels skaitlis no 0 līdz 255, nepieciešams uzglabāšanai 1 baits atmiņa;
      Vesels skaitlis- vesels skaitlis no –32 768 līdz 32 767, 2 baiti ;
      Garš- liels vesels skaitlis no –2 147 483 648 līdz 2 147 483 647, 4 baiti ;
      Valūta(naudas) - liels decimālskaitlis ar 19 pozīcijām, ieskaitot 4 zīmes aiz komata
      (no –922337203685477.5808 līdz 922337203685477.5807), 4 baiti,
      izmanto, lai saglabātu skaitļus, ja precizitāte ir ārkārtīgi svarīga, kas notiek, aprēķinot ar naudas vienībām;
      Decimālzīme- vēl lielāks decimālskaitlis ar 29 pozīcijām (pēc komata varat izmantot no 0 līdz 28 pozīcijām), 8 baiti;
      Viens Un Dubults- peldošā komata vērtības ( 4 un 8 baiti)
      (no -3,402823·10 38 līdz -1,401298·10-45 negatīvām vērtībām un
      no 1,401298·10 -45 līdz 3,402823·10 38 pozitīvām vērtībām vienvietīgajiem un
      no -1,79769313486232·10 308 līdz -4,94065645841247·10 -324 negatīvām vērtībām un
      no 4,94065645841247·10 -324 līdz 1,79769313486232·10 308 pozitīvām vērtībām Double);
    • string( Stīga mainīgs garums (līdz aptuveni 2 miljardiem rakstzīmju) un fiksēts garums (līdz aptuveni 65 400 rakstzīmēm));
    • datums un laiks ( Datums- no 01.01.100. līdz 31.12.9999.), 8 baiti;
    • Būla ( Būla- var saglabāt tikai patiesas un nepatiesas vērtības), 2 baiti;
    • objekts ( Objekts- saglabā atmiņā atsauci uz jebkuru objektu);
    • Variants- īpašs datu tips, kas var uzglabāt jebkura veida datus, 16 baiti +1
    Datu tipu apzīmējumi ir valodas atslēgvārdi (un tiek izcelti, ievadot tos VBA redaktorā). Virs dažādi veidi ar datiem ir iespējamas dažādas darbības. VBA ir trīs galvenie operāciju veidi:
    • matemātiski, izpildīti uz skaitļiem, to rezultāts ir skaitļi;
    • relāciju darbības var attiecināt ne tikai uz skaitļiem, to rezultāts ir loģiskā tipa vērtība;
    • loģisks, lietots loģiskās izteiksmes un to rezultāts ir Būla vērtības.

    3. Darbības prioritātes

    Prioritāte Darbība
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Funkcijas izsaukums un iekavas
    ^
    - (zīmes maiņa)
    *, /
    \
    Mod
    +, –
    >, <, >=, <=, <>, =
    Nav
    Un
    Or
    Xor

    4. Matemātiskās funkcijas

    Funkcija Atdeves vērtība
    Abs(<число>) Skaitļa modulis (absolūtā vērtība).
    Atn(<число>) Arktangents
    Cos (<число>) Kosinuss
    Derīguma termiņš (<число>) Eksponents, t.i., naturālā logaritma bāzes paaugstināšanas rezultāts līdz norādītajai pakāpei
    Žurnāls(<число>) Dabiskais logaritms
    Rnd (<число>) Nejaušs skaitlis no intervāla [, nosaukums]

    Argumenti:

    Ziņa - obligātais arguments, kas norāda logā parādāmo informatīvo ziņojumu. Var sastāvēt no vairākām teksta rindiņām, kuras savieno zīme & . Lietojums šajā argumentā Chr (13) ved uz jaunu rindiņu, izvadot informāciju.

    Pogas - šī argumenta vērtība nosaka logā redzamo pogu kategorijas. Pogas argumenta vērtība arī nosaka, vai logā parādās kāda ikona. Ja nenorādāt, kuras pogas parādīt ziņojumu lodziņā, tiek izmantota noklusējuma vērtība, kas atbilst pogai Labi. Tabulā 3.1 parāda iespējamās pogu un ikonu kombinācijas ziņojuma logā.

    Virsraksts - iestata loga nosaukumu.

    Funkcija MsgBox atgriež Vesela skaitļa vērtību, norādot, kura poga tika noklikšķināta dialoglodziņā.

    3.1. tabula. Derīgas pogas mainīgo vērtības

    Displejs

    Arguments

    Labi poga

    Labi un Atcelt pogas

    Jā un Nē pogas

    Jā, Nē un Atcelt

    Pogas Apturēt, Atkārtot un Ignorēt

    VbAbortRetryIgnore

    Pogas Atkārtot un Atcelt.

    Informācijas zīme

    Jautājuma zīme

    Izsaukuma zīme

    Piemēram. Parādiet ziņojumu par pašreizējo datumu.

    MsgBox "Šodien kalendārā" un datums , "Uzmanību"

    Rezultātā tiks parādīts šāds logs (3.1. att.).

    Pēc noklikšķināšanas uz Labi, ziņojumu lodziņš tiks aizvērts un programmas izpilde tiks atsākta no paziņojuma tūlīt pēc MsgBox izsaukuma.

    3.3.2. Funkcija InputBox

    Funkcija InputBox ievada mainīgās vērtības, izmantojot ievades logu, un tam ir šāda sintakse:

    Mainīgais_nosaukums = InputBox(Ziņa[, virsraksts] )

    Argumenti:

    Ziņa - nepieciešamais arguments. Logā iestata informatīvu ziņojumu, kas parasti izskaidro ievadītās vērtības nozīmi.

    Virsraksts - iestata loga nosaukumu.

    Piemēram, No tastatūras ievadiet mainīgā N vērtību, nodrošinot noklusējuma vērtību 10.

    Lai to izdarītu, varat izmantot šādu operatoru:

    N = InputBox ("Ievadiet N", "Ievades ievade",10)

    Rezultātā tiks parādīts sekojošs logs mainīgā N vērtības ievadīšanai (3.2. att.).

    Ja noklusējuma vērtība ir piemērota lietotājam, tad pēc pogas Labi nospiešanas ievades logs tiks aizvērts, mainīgais N tiks iestatīts uz 10 un programmas izpilde tiks atsākta ar paziņojumu tūlīt aiz izsaukuma InputBox.

    Ja noklusējuma vērtība lietotājam nav piemērota, tad, pirms noklikšķināt uz pogas Labi, jāievada vēlamā vērtība mainīgajam N.

    3 .4. Nosacīts IF paziņojums

    Sazarojuma skaitļošanas procesa ieviešanai VBA tiek izmantots operators Ja...tad...citādi, kas ir vienkāršākais stāvokļa pārbaudes veids. Tam ir šāda sintakse:

    JaSTĀVOKLISTadOPERATOR_1ElseOPERATORS_2

    OPERATOR_1 izpildīts, ja STĀVOKLIS taisnība, citādi izpildīts OPERATORS_2. Šajā gadījumā paziņojums If...Tad...Citādi ir uzrakstīts vienā rindā.

    STĀVOKLIS ir Būla izteiksme. Izteiksmes rezultāts vienmēr ir Būla vērtība. Izteiksme var būt vienkārša vai sarežģīta. Rakstot vienkāršus nosacījumus, var izmantot visas iespējamās tabulā norādītās relāciju darbības. 3.2.

    Tabula3 .2. Loģiskās attiecības

    Darbība

    Vārds

    Izteiksme

    Rezultāts

    Taisnība, ja A ir vienāds ar B

    Patiess, ja A nav vienāds ar B

    Patiess, ja A ir lielāks par B

    Taisnība, ja A ir mazāks par B

    Vairāk vai vienādi

    Patiess, ja A ir lielāks vai vienāds ar B

    Mazāks vai vienāds

    Patiess, ja A ir mazāks vai vienāds ar B

    Sarežģīti nosacījumi tiek veidoti no vienkāršiem, izmantojot loģiskās darbības un iekavas. Loģisko operāciju saraksts ir dots tabulā. 3.3.

    Tabula3 .3. Loģiskās operācijas

    Vārds

    Izteiksme

    Rezultāts

    Būla
    noliegums

    Loģiski UN

    Loģiski VAI

    Nosacītā paziņojumā ir pieļaujams izmantot priekšrakstu bloku jebkura paziņojuma vietā. Šajā gadījumā nosacījuma operators izskatās šādi:

    JaSTĀVOKLISTad

    BLOCK_OPERATORS_1

    BLOCK_OPERATORS_2

    Beigas If

    Nosacījuma priekšraksts var pārbaudīt vairākus nosacījumus. Šajā gadījumā nosacījuma operators izskatās šādi:

    JaCONDITION_1Tad

    BLOCK_OPERATORS_1

    Citādi, jaCONDITION_2Tad

    BLOCK_OPERATORS_2

    Citādi

    BeigasJa

    1. piemērs. Uzrakstiet daļu no programmas algoritmam attēlā. 3.3.

    2. piemērs. Uzrakstiet daļu no programmas algoritmam attēlā. 3.4.

    3.5. Izvēlieties Case operator

    Operators Select Case ir noderīgs, ja nepieciešams veikt dažādas darbības atkarībā no izteiksmes vērtības, kurai ir ierobežota derīgu vērtību kopa. Tas ir saistīts arī ar nosacījumu paziņojumiem, taču tam ir cita forma:

    Izvēlieties CaseIZTEIKSME PĀRBAUDĒ

    LietaVĒRTĪBAS_1

    OPERATORS_1

    LietaVĒRTĪBAS_ 2

    OPERATORI_ 2

    . . .

    LietaVĒRTĪBAS_N

    OPERATORI_N

    [ LietaCitādi

    CITĀDI_ OPERATORS]

    Beigu atlase

    IZTEIKSME PĀRBAUDĒ var būt jebkura skalāra tipa, izņemot reālo. VĒRTĪBAS sastāv no patvaļīga vērtību vai diapazonu skaita, kas atdalīti ar komatiem.

    Tips VĒRTĪBAS jāatbilst tipam TEST_EXPRESSION.

    Vispirms tas tiek aprēķināts IZTEIKSME PĀRBAUDĒ. Ja tā vērtība atbilst kādai no vērtībām VĒRTĪBAS_I, tad tie piepildīsies OPERATORI_I Beigu atlase. Ja tā vērtība neatbilst nevienai no vērtībām VĒRTĪBAS_I, tad tie piepildīsies ELSE_OPERATORS un vadība tiek nodota operatoram, kurš stāv pēc Beigu atlase

    Piemēram. Uzrakstiet daļu no programmas algoritmam attēlā. 3.5, kas nosaka mainīgā S vērtību atkarībā no mainīgā lieluma n vērtības.

    3.6. Cilpas paziņojumi

    Lai īstenotu ciklisku skaitļošanas procesu, t.i., atkārtotu viena vai vairāku operatoru izpildi, tiek izmantots cilpas operators Par...Nākamais, kurai ir šāda sintakse:

    PriekšCOUNTER=START_VALUEToCON_VALUESolisSOLIS

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    NākamaisSKAITS

    Cilpa For…Next iziet cauri mainīgā vērtībām SKAITS, kas ir cilpas parametrs, no sākotnējās līdz galīgajai vērtībai ar norādīto izmaiņu soli. Tas nodrošina, ka cilpas pamattekstu bloks tiek izpildīts ar katru jaunu skaitītāja vērtību. Ja SolisSOLIS dizainā nav, tad pēc noklusējuma tiek pieņemts, ka solis ir vienāds ar 1. Pēc operatora domām Iziet uz varat iziet no cilpas priekšraksta pirms tam SKAITS sasniedz pēdējo vērtību.*

    Lai iterētu objektus no līdzīgu objektu grupas, piemēram, šūnas no diapazona vai masīva elementiem, ir ērti izmantot cilpas operatoru Priekš...Katrs...Tālāk.

    KatramElementsInGrupa

    BLOĶĒT_ OPERATORI

    OPERATOR_BLOCK

    NākamaisElements

    VBA, lai organizētu cilpas ar nezināmu atkārtojumu skaitu, tiek izmantoti citi cilpas operatori:

    cilpas ar priekšnosacījumu - DarietKamērCilpa,

    DarietLīdz plkstCilpa;

    cilpas ar pēcnosacījumu - DarietCilpaKamēr,

    DarietCilpaLīdz plkst.

    Tālāk ir norādīta šo cilpas paziņojumu sintakse:

    "Cilpa ar priekšnosacījumuDariet Kamēr Cilpa

    Darīt kamērSTĀVOKLIS

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    "Cilpa ar priekšnosacījumuDariet Līdz plkst Cilpa

    DarietLīdz plkstSTĀVOKLIS

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    "Cilpa ar pēcnosacījumuDariet Cilpa, kamēr

    BLOĶĒT_ OPERATORI

    OPERATOR_BLOCK

    Cilpa, kamērSTĀVOKLIS

    "Cilpa ar pēcnosacījumuDariet Cilpa līdz

    BLOĶĒT_ OPERATORI

    OPERATOR_BLOCK

    Cilpa līdzSTĀVOKLIS

    Operators DarietWhile...Cilpa nodrošina, ka paziņojumu bloks tiek atkārtots vairākas reizes līdz STĀVOKLIS tiek novērots, un operators



    Citas ziņas

    Valodas instrukcijas (vai operatori)– tās ir programmas vienības, kas veic kādas darbības vai apraksta datus.

    Paziņojumā ir viens vai vairāki atslēgvārdi un, iespējams, parametri. Vairāki priekšraksti, kas atrodas vienā programmas rindā, ir atdalīti viens no otra ar kolu. Ja paziņojums ir pārāk garš, varat to lauzt vairākās rindās, izmantojot pasvītrojumu _, lai to pārtrauktu.

    PAR P erators uzdevumiem

    Piešķiršanas operators tiek izmantots, lai programmas izpildes laikā mainīgajam piešķirtu jaunu vērtību. Piešķiršanas zīme "=".

    Piemēram, operators:

    x = kvadrāts(5 + iedegums(1,8)^2)

    piešķir mainīgajam x izteiksmes vērtību. Labajā pusē rakstītās izteiksmes aprēķināšanas rezultātā iegūstam reālu skaitli. Bet vērtība, kas tiks piešķirta mainīgajam x, ir atkarīga no tā, kā tika deklarēts šī mainīgā veids. Tātad, ja mainīgajam x ir Single tips, tam tiks piešķirts rezultāts 4.834464, ja tas ir Double, tad 4.83446368725481, un, ja tas ir vesels skaitlis, tad 5.

    Mainīgā x datu tipam ir jābūt saderīgam ar šīs izteiksmes datu tipu. Papildus netiešai konvertēšanai no viena veida uz citu piešķiršanas laikā, Visual Basic nodrošina iespēju pārveidot tipus, izmantojot funkcijas. Piemēram, funkcija CDbl pārvērš datus dubultā veidā, CInt– uz vesela skaitļa tipu, Clng- garajam tipam, CSng- uz vienu tipu, CStr– ierakstīt String utt.

    Funkcijas CInt un Clng noapaļo rezultātu. Turklāt, ja skaitļa daļējā daļa ir 0,5, tiek veikta noapaļošana līdz tuvākajam pāra skaitlim.

    Piešķiršanas operatorsļauj ne tikai piešķirt vērtību mainīgajam, bet arī iestatīt VBA objektu īpašību vērtības. Piemēram, operators

    Rindas("1:1").Fonts. Treknraksts = patiess

    Padara darblapas pirmās rindas fontu treknrakstā.

    RINDAS PĀRTRAUKS

    Kombinācija<Пробел> + <Знак подчеркивания>rindas beigās nodrošina, ka nākamā rinda ir iepriekšējās turpinājums. Tajā pašā laikā mums jāatceras, ka:

    § Jūs nevarat pārtraukt virknes konstantes, aptinot

    § Ir atļauti ne vairāk kā septiņi vienas līnijas turpinājumi

    § Pašā rindiņā nedrīkst būt vairāk par 1024 rakstzīmēm

    Piemērs.

    Nepareiza pārsūtīšana Pareiza pārsūtīšana

    Line = "Visual Basic priekš _ Line = "Visual Basic" _

    Pieteikumi" un "Lietojumprogrammām"

    KOMENTĀRI

    Tekstu aiz simbola (") programmā līdz rindas beigām kompilators ignorē, un tas ir komentārs. Komentāri tiek izmantoti, lai programmai pievienotu paskaidrojumus un aprakstus. Komentāri ir noderīgi, veicot programmas atkļūdošanu: tie ļauj atkļūdošanas laikā īslaicīgi atspējot programmas rindas.

    Nosacīti operators

    Nosacījuma priekšraksts izpilda noteiktas instrukcijas (paziņojumus) atkarībā no nosacījuma izteiksmes vērtības. Stāvokļa pārbaudes blokshēma izskatās šādi:

    Rīsi. 1. Sazarojums var būt nepilnīgs (šo struktūru sauc arī par apvedceļu).

    Rīsi. 2. Nosacījuma priekšrakstam ir divas sintakses formas: līnija un bloks.

    Mazo burtu forma

    Ja stāvokli Tad [ operatori_ja_patiess]

    Attēlā parādītais algoritms. 1, ar mazajiem burtiem tiks rakstīts kā

    Ja stāvokli Tad operatori_ja_patiess Citādi operators_ja_false

    2. attēls atbilst ierakstam

    Ja stāvokli Tad operatori_ja_patiess

    3. attēls atbilst ierakstam

    Ja stāvokli Tad Cits operators_ja_false

    Bloka forma

    Ja nosacījums-1 Tad

    [operatori_ja nosacījums-1_true]

    [operators_if_all_conditions_false]]

    Nosacījumi, kas uzskaitīti daļās If un ElseIf, ir relāciju izteiksmes vai loģiskas izteiksmes. Kad viens no nosacījumiem ir izpildīts, tiek izpildīti priekšraksti, kas seko tam atbilstošajam atslēgvārdam Then, un pārējie priekšraksti tiek ignorēti (tas ir, turpmākas pārbaudes netiek veiktas un kontrole tiek nodota priekšrakstam, kas seko End If). Ja neviens no loģiskajiem nosacījumiem nav patiess, tad operators_if_all_previous_conditions_false, vai, ja šī daļa ir izlaista, vadība tiek pārnesta uz programmas rindu pēc nosacījuma priekšraksta.

    Priekšraksta If bloka forma ir ieteicama, ja:

    Kad nosacījums ir izpildīts vai nav izpildīts, tiek izpildīti vairāki priekšraksti (šajā gadījumā var izmantot arī rindas formu, taču rinda būs pārāk gara un programma mazāk skaidra);

    Vairāki nosacījumi tiek pārbaudīti secīgi, un, kad ir izpildīts nākamais nosacījums, nav pareizi pārbaudīt nākamos nosacījumus (tāpēc tiek izmantots atslēgvārds ElseIf).

    Piemērs

    Uzņēmums nodrošina atlaides vairumtirdzniecības pircējiem.

    Pamatojoties uz zināmo pasūtījuma apjomu, ir jānosaka tā izmaksas.

    Lai aprēķinātu pasūtījuma izmaksas, mēs izmantojam funkciju:

    Publiskā funkcija Pasūtījums_Maksa (Cik daudzums) Kā Dubults

    Ja Daudzums<= 999 Then

    Pasūtījuma_maksa = daudzums * 5

    ElseIf Daudzums<= 1999 Then

    Pasūtījuma_maksa = Daudzums * 4.8

    Pasūtījuma_maksa = daudzums * 4,75

    Šajā gadījumā bija iespējams izmantot IF operatora mazo burtu formu:

    Publiskā funkcija Pasūtījums_Maksa1 (Cik daudzums) Kā Dubults

    Ja Daudzums<= 999 Then Стоимость_заказа1 = Количество * 5

    Ja daudzums >= 1000 un daudzums<= 1999 Then Стоимость_­ заказа1 = Количество * 4.8

    Ja daudzums >= 2000, tad pasūtījuma_maksa1 = daudzums * 4,75

    Ja neņem vērā mīnusus, ka rindas ir garas, un jebkuram pasūtījuma apjomam visas pārbaudes tiek veiktas secīgi (nelieliem pasūtījumu apjomiem pirmā procedūra darbojas ātrāk), tad programma ir uzrakstīta pareizi un, iespējams, pat skaidrāk.

    Taču var minēt piemērus, kur, ja viens no nosacījumiem ir izpildīts (vai nav izpildīts), pārējos vienkārši nevar pārbaudīt.

    Piemēram, daži operatori ir jāizpilda, ja nosacījumi ir izpildīti kopīgi: http://po-teme.com.ua/images/adIIIin/image014_e652e49476c6f0eb9cf40b68cc090828.gif" alt="" width="56" height="27 src="> Ja čekiem izmantojiet operatoru

    Ja x>0 un y

    tad, ja x ir negatīvs, izsaucot funkciju sqr, radīsies kļūda (sakne ir negatīvs skaitlis).

    No šīs kļūdas var izvairīties, izmantojot dizainu

    Ja x > 0 Tad Ja y< Sqr(x) Then

    Ieraksta pēdējā formā, ja ir Else atslēgvārds, tas attiecas uz pēdējo If priekšrakstu.

    Atlases operators

    Izvēlieties Case izteiksme

    [instrukcijas_cits]]

    Izteiksmes parametrs ir jebkura skaitliska vai virknes izteiksme. Tā vietā, lai novērtētu loģisku nosacījumu, izteiksmes vērtība tiek salīdzināta ar katru no parametra norādītajām vērtībām izteiksmes_saraksts-n.

    Vērtības salīdzināšanai iekļautas izteiksmes_saraksts-n, var norādīt šādā formā:

    – vērtības;

    – vērtību diapazons formā sākotnējā_vērtība Uz galīgā_vērtība;

    – salīdzināšanas izteiksmes formā Is salīdzināšanas_operatora vērtība;

    – jebkura no uzskaitītajiem izteiksmju veidiem saraksts (atdalītājs – komats).

    Instrukcija var saturēt patvaļīgu skaitu Case bloku. Ja neviens no nosacījumiem nav patiess, tiek izpildīti priekšraksti blokā Case Else.

    Piemēram, ja nosacījums ir rādītājs virs trīs, tad šo nosacījumu var uzrakstīt: Case 4, 5 vai Case Is >3 vai Case Is >= 4 vai Case 4 to 5.

    Piezīme. Atslēgvārds Nav jāievada, tas tiks pievienots automātiski.

    Piemērs

    Iepriekš minēto piemēru ar atlaidi, izmantojot Select Case konstrukciju, var atrisināt šādi:

    Publiskā funkcija Pasūtījums_Maksa2 (Cik daudzums) Kā Dubults

    Atlasiet Lietas daudzums

    Pasūtījuma_maksa2 = daudzums * 5

    Lieta 1000 līdz 1999. gadam

    Pasūtījuma_maksa2 = Daudzums * 4.8

    Lieta ir >= 2000

    Pasūtījuma_maksa2 = daudzums * 4,75

    VBA programma ir paziņojumu secība.

    Ir vairākas konvencijas, kas jāievēro, rakstot programmas. Tādējādi vienā rindā var ievietot vairākus apgalvojumus. Kols tiek ievietots starp apgalvojumiem vienā un tajā pašā rindā.

    Jebkuru rindiņu var sadalīt divās daļās, pirmās rindas beigās ievietojot rakstzīmes “Atstarpe” + “Pasvītrojums” (_), un tādā gadījumā otrā rinda tiks uzskatīta par pirmās rindas turpinājumu.

    Komentāri tiek izmantoti, lai programma būtu viegli lasāma. Ir divi veidi, kā ievadīt komentārus VBA: izmantojot apostrofu ('), ko var novietot jebkurā rindiņā, un rezervēto vārdu Rem, nevis apostrofu.

    1. Dim operators ir paredzēts mainīgo tipu deklarēšanai.

    1. Aptumšot A kā veselu skaitli — mainīgais A tiek deklarēts kā vesels skaitlis, t.i. tajā tiks saglabātas tikai veselas vērtības .

    2. Dim D kā datums — mainīgais D ir deklarēts, lai saglabātu datumus.

    3. Blāvs uzvārds, vārds kā virkne — tiek deklarēti mainīgie. Uzvārds un Vārds, paredzēts teksta glabāšanai.

    4. Dim B(12) kā vesels skaitlis — tiek deklarēts viendimensijas masīvs (vektors), kas sastāv no 12 veseliem skaitļiem, un pēc noklusējuma pirmais masīva elements būs B(0), bet pēdējais B(12).

    5. Dim B (3,3) kā viens — tiek deklarēts divdimensiju 3x3 masīvs (matrica), kas sastāv no reāliem skaitļiem.

    Ja mainīgā tips nav norādīts, pēc noklusējuma tiek izmantots varianta veids. Taču, norādot konkrēta veida mainīgo, programma kļūst uzticamāka un paātrina tās darbību, jo VBA nav jātērē laiks, lai atpazītu nedeklarētu mainīgo katru reizi, kad tam piekļūst.

    Ja masīva M lielums nav iepriekš zināms un tiek noteikts programmas laikā, tad, aprakstot masīvu, elementu skaits netiek norādīts, un masīvs tiek definēts šādi:

    Dim M() Kā vesels skaitlis

    Pēc masīva elementu skaita noteikšanas, piemēram, N, jums jāieraksta operators

    2. Piešķiršanas operators ir paredzēts, lai mainīgajam piešķirtu vērtību.

    Sintakse:

    Mainīgais (vai objekta īpašums) = izteiksme.

    1. a=5 – Piešķiriet mainīgajam A vērtību 5 ;

    2. b="Vadītājs" — mainīgais b piešķirt kas nozīmē "vadītājs";

    · Adrese=Izklājlapas("Organizācijas").Šūnas(2,2) — mainīgajam Adrese piešķir šūnas B2 saturu, kas atrodas pašreizējā darbgrāmatas lapā Organizācijas;

    Uzvārds=UserForm1.TextBox1.Text — mainīgs Uzvārds tiek piešķirts lietotāja formas UserForm1 lauka TextBox1 saturam.

    o Ar/Beigas ar paziņojumu ietaupa programmētāju no liela skaita viena un tā paša objekta nosaukuma atkārtojumu.

    Sintakse:

    Ar objektu

    operators1

    operators2

    operatorsN

    Piemēram, apgalvojumu secības vietā

    UserForm1.TextBox1.Text = Datums

    UserForm1.TextBox2.Text = " "

    UserForm1.ComboBox1.Text = " "

    var uzrakstīt šādi

    TextBox1.Text = Datums

    . TextBox2.Text = " "

    . ComboBox1.Text = “ ”

    REM Lapas 1. ailē A ailē, sākot no otrās rindas, tiek pierakstīti “darbinieku tarifi”. Lietotāja veidlapā UserForm1 aizpildiet kombinēto lodziņu ComboBox1

    ‘Programmas pirmā rinda – uz lapas Sheet1 ailē A ‘tiek saskaitīts aizpildīto šūnu skaits, rezultāts ‘tiek piešķirts mainīgajam N

    N=Application.CountA(Sheets(“Sheet1”).Diapazons(“A:A”).

    D=”A2:A”&Cint(N)

    Izklājlapas(“1. lapa”). Diapazons (D).Nosaukums=”Tarifi”

    TextBox1.Text = Datums

    . TextBox2.Text = " "

    . ComboBox1.Text = “ ”

    . ComboBox1.Rowsource = “Tarifi”

    1. Nosacīts paziņojums Ja/Tad/Citādi– ļauj pārbaudīt noteiktu stāvokli un atkarībā no pārbaudes rezultātiem veikt vienu vai otru darbību

    Sintakse:

    Ja stāvokli Tad operatori1 [ Citādi operatori2]

    Ja nosacījums ir patiess, tad tiek izpildīti paziņojumi1, pretējā gadījumā tiek izpildīti paziņojumi2.

    Ir iespējams izmantot arī sarežģītu nosacījumu operatoru, kas tiek rakstīts kā bloks:

    Ja nosacījums1 Tad

    operatori1

    Citādi, ja nosacījums2 Tad

    operatori2

    operatori3

    Uzvārds=.Tekstlodziņš1.Teksts

    Ja uzvārds ="" Tad MsgBox"Jūs neesat ievadījis uzvārdu"

    REM Atzīmējot izvēles rūtiņu 1, klientam tiek piešķirta 5% atlaide

    ‘Summa – klienta samaksātā naudas summa

    Produkta izmaksas tiek saglabātas mainīgajā Izmaksu

    Ja UserForm1.CheckBox1.Value = True, tad

    Summa=Izmaksas-Izmaksas*0,05

    Else Summa=Izmaksas

    1) REM Pieņemsim, ka Tarifs ir noteiktais tarifs un Laiks ir nostrādātais laiks. Laiks un tarifs tiek ievadīti ievades laukos attiecīgi TextBox1 un TextBox2. Alga tiek aprēķināta pēc formulas Tarifs*Laiks. Uzrakstīsim programmu, lai veidlapā parādītu aprēķināto algu. Label4 – uzraksts sagatavots ‘algas vērtības parādīšanai’

    If IsNumeric(TextBox1.Text)=True Un _

    IsNumeric(TextBox2.Text)=Patiess, tad

    Tarifs=TextBox1.Text

    Laiks=TextBox2.Text

    Label4.Caption=Tarifs*Laiks

    Pirmajā piemērā mēs strādājam ar lietotāja veidlapu numur viens. Mainīgs Uzvārds tiek piešķirts ievades lauka numurs viens saturs. Pēc tam tas pārbauda, ​​vai ievades laukā kaut kas ir ievadīts (vai mainīgais ir tukšs Uzvārds). Ja mainīgais Uzvārds ir tukšs, ekrānā tiek parādīts ziņojumu lodziņš.

    Otrajā piemērā pirmās rindas, kas sākas ar vārdu REM un apostrofiem, ir komentāri, kas izskaidro mainīgo mērķi. Nosacītais operators nosaka klienta maksājamo summu.

    Trešais piemērs pārbauda, ​​vai ievades laukos ir ievadīti skaitļi. Ja skaitļi tiek ievadīti divos laukos, tad mainīgajiem tiek piešķirtas ievades lauku vērtības, un etiķetei tiek piešķirta tarifa reizināšanas ar laiku rezultāta vērtība.

    1) Beznosacījumu lēciena operators Iet uz ir paredzēts, lai norādītu pāreju uz noteiktu rindu programmā.

    Sintakse:

    Iet uz virkni

    Nepieciešamais arguments Virkne var būt jebkura rindas etiķete vai rindas numurs.

    Ja IsNumeric(TextBox1.Text)=False, tad GoTo kļūda

    Kļūda: MsgBox “Kļūda, ievadot numurus!”

    Iepriekš minētajā piemērā tiek pārbaudīts, vai pirmajā ievades laukā ir ievadīts numurs. Ja ievadītais cipars nav cipars, tiek pārvietota rinda ar apzīmējumu Error un ekrānā tiek parādīts ziņojums.

    2) Cilpas operators Uz/Uz/Nākamais paredzēts atkārtotu fragmentu programmēšanai, t.i. lai aprakstītu cikliskos algoritmus.

    Sintakse:

    Priekš mainīgais = M1 Uz M2 [ Solis M3]

    operatoriem

    M1, M2, M3 – izteiksmes. Cilpas paziņojums atkārto paziņojumu grupas izpildi, kamēr mainīgais (skaitītājs) mainās no sākotnējās vērtības M1 uz galīgo vērtību M2 ar norādīto soli M3. Ja solis nav norādīts, tiek pieņemts, ka tas ir 1.

    Uzvārds = Lapas(“Darbinieki”). Šūnas (I,1)

    UserForm1.ComboBox1.AddItem Uzvārds

    Dotajā piemērā tiek pieņemts, ka lapas “Darbinieki” pirmajā slejā ir norādīti to darbinieku vārdi, kuri jāiekļauj lietotāja veidlapas 1. kombinētā lodziņa sarakstā. Programmas darbības algoritms:

    1) Mainīgajam I tiek piešķirta vērtība 2.

    2) Mainīgajam Uzvārds tiek piešķirta šūnas A(I,1) vērtība, kas atrodas uz lapas “Darbinieki”. (Kad cilpa tiek izpildīta pirmo reizi, tā ir šūna A(2,1))

    3) Saliktā lodziņa ComboBox1 sarakstam tiek pievienots elements no mainīgā Last Name.

    4) mainīgā I vērtībai tiek pievienots 1 (ja solis nav norādīts, tad pieņem, ka tas ir vienāds ar 1). Tiek veikta pārbaude, vai I vērtība ir pārsniegusi 10 (mainīgā I gala vērtība, piemērā M3=10)? Ja I vērtība ir pat mazāka vai vienāda ar 10, tad tiek veiktas 2-4 darbības, pretējā gadījumā cikls beidzas.

    Tādējādi iepriekš minētā programma ļauj aizpildīt ComboBox1 kombinēto lodziņu ar datiem.

    Risināšanā izmantotie pamata algoritmi
    saimnieciskie uzdevumi

    Apskatīsim pamata algoritmus, izmantojot šādu piemēru. Darba izpildē saskaņā ar līgumu piedalījās darbinieki no dažādām nodaļām. Tabulā uz lapas “Sheet1” ir sniegti dati par katra darbinieka nostrādāto stundu skaitu (8. att.).


    8. att. Dati par nostrādāto stundu skaitu

    uzņēmuma darbinieki


    Bezmaksas programmu un noderīgu padomu pasaule
    2024 whatsappss.ru