Vba logično oz. Operatorji VBA in vgrajene funkcije. Nepravilen prenos Pravilen prenos

Ime parametra Pomen
Tema članka: Operatorji VBA
Rubrika (tematska kategorija) Programiranje

VBA je operaterski jezik. To pomeni, da njeni programi (postopki ali funkcije) predstavljajo zaporedja stavkov.

V jeziku VBA lahko razlikujemo naslednje skupine operaterji:

1. deklarativni operatorji, namenjeni opisovanju objektov, s katerimi program deluje (vrste spremenljivk, konstant in nizov itd.),

2. izjave o komentarjih,

3. operatorji za dodeljevanje in spreminjanje vrednosti objektov,

4. operatorji, ki nadzorujejo potek izračunov (pogojni, ciklični, prehodni).

IN ta tečaj Obravnavani bodo osnovni operatorji, nekateri, na primer ciklični, bodo predstavljeni v treh vrstah, vendar naj učenci obvladajo le enega, kot najbolj razumljivega za uporabo.

Operater komentarja

Komentarji ne vplivajo na izvajanje programa, vendar so potrebni za razumevanje algoritma. Ker se programi večkrat posodabljajo, je ključnega pomena uporaba komentarjev, ki vam pomagajo zapomniti algoritem in ga pravilno spremeniti.

Vsaka vrstica besedila programa se lahko konča s komentarjem. Komentar v VBA se začne z apostrofom (") in vključuje poljubno besedilo na desni strani vrstice.

npr.

Teža= teža+z "Vrednost povečanja teže=teža*cena "Nova cena

Operator dodelitve

Operatorji dodelitve so glavno sredstvo za spreminjanje stanja programa (vrednosti spremenljivk). Je konstrukcija, ki povezuje znak = med spremenljivko (leva stran) in izrazom (desna stran). Izraz je sestavljen iz operandov (imena spremenljivk, konstant, imen standardnih funkcij) in simbolov operacij (aritmetične, logične, nizovne, primerjalne). Pomen tega operatorja je, da je levi strani dodeljena vrednost desne strani.

Kontrolne izjave

Niz kontrolnih stavkov VBA ustreza strukturiran jezik programiranje. IN ta komplet vključeno pogojni stavki in stavki zanke, ki vam omogoča zanesljivo in učinkovito organizacijo procesa izračuna.

Pogojni stavek If Then Else End If

To je pogosto uporabljen operator za nadzor izračuna v programskih jezikih, ki vam omogoča izbiro in izvajanje dejanj na podlagi resničnosti določenega pogoja.

Operatorji VBA - pojem in vrste. Razvrstitev in značilnosti kategorije "Operatorji VBA" 2017, 2018.

  • - Operaterji za ohranjanje življenjske dobe in količine

    Ta kategorija Številčnice v TRIZ-u je predstavljena kot »načelo št. 34, zavrženje in regeneracija delov: a) Del predmeta, ki je izpolnil svoj namen ali je postal nepotreben, je treba zavreči (raztopiti, izhlapeti itd.) ali spremeniti. neposredno med delom. b) ... .


  • - Jezikovni elementi VBA

    riž. 12.1 Postavljeni objekti na obrazcu 6. Z aktiviranjem vsakega objekta posebej na obrazcu nastavimo njegovo lastnost v oknu lastnosti (Lastnosti, slika 12.2). Tako je ustvarjen vmesnik (slika 12.3). riž. 12.3. Projektni vmesnik (z... .


  • - Pogojni stavki

    Sestavljeni operator. Strukturni operatorji Operator klica postopkov Operator brezpogojnega skoka Operator brezpogojnega skoka omogoča spreminjanje vrstnega reda izvajanja... .


  • - Sestavljeni pogojni stavki

    Včasih se pri reševanju problemov pojavi situacija, ko lahko operatorji v vejah vsebujejo druge pogojne operatorje. Ti se imenujejo sestavljeni operatorji. Še več, število vlaganj ali, kot tudi pravijo, stopnje vlaganj je lahko... .


  • - Osnove VBA

    Visual basic For Application (VBA) je kombinacija enega najpreprostejših programskih jezikov in vseh računalniških zmogljivosti Excelove preglednice. Z uporabo VBA lahko preprosto in hitro ustvarite različne aplikacije, tudi če niste strokovnjak na tem področju...

  • Kratke teoretične informacije

    1. Sintaksa in semantika programskega jezika VBA

    Sintaksa programskega jezika je niz pravil, ki opisujejo kombinacije abecednih znakov, ki veljajo za pravilno strukturiran program (dokument) ali njegov fragment.

    Osnovna sintaktična načela tega jezika so naslednja:

    • VBA ne razlikuje med velikimi in malimi črkami;
    • če želite kodo komentirati do konca vrstice, uporabite enojni narekovaj(") ali ukaz REM;
    • vrednosti znakov morajo biti v dvojnih narekovajih (");
    • največja dolžina katerega koli imena v VBA (spremenljivke, konstante, procedure) je 255 znakov;
    • začetek novega izpiska - prenos na nova vrstica(podpičje, kot v C, Java, JavaScript, se za to ne uporablja);
    • omejitve glede največja dolžina ni vrstice (čeprav je v urejevalniku samo 308 znakov v vrstici). Več stavkov v isti vrstici je ločenih z dvopičjem:
      MsgBox "Check 1" : MsgBox "Check 2"
    • Za lažje branje lahko več fizičnih vrstic združite v eno logično s presledkom in podčrtajem za njim:
      MsgBox "Sporočilo uporabniku" _
      &vUporabniškoIme

    Semantika jezika je pomenski pomen besed. V programiranju - začetni semantični pomen operatorjev, osnovne jezikovne konstrukcije itd.

    Operater je najmanjša enota kode VBA, ki jo je mogoče izvesti. Stavek lahko deklarira ali definira spremenljivko, nastavi možnost prevajalnika VBA ali izvede neko dejanje v programu.

    Aritmetika V VBA je samo 7 operaterjev.

    Štirje standardni: seštevanje (+), odštevanje (−), množenje (*), deljenje (/) in še trije:

    • potenciranje (^). Na primer, 2^3 = 8;
    • celoštevilsko deljenje (\). Prvo število deli z drugim, pri čemer zavrže (brez zaokroževanja) ulomek. Na primer, 5\2 = 2;
    • deljenje po modulu (Mod). Deli prvo število z drugim in vrne le preostanek deljenega dela. Na primer, 5 Mod 2 = 1.

    Operator dodelitve v VBA je znak enačaja. Lahko zapišete takole:

    Naj bo nVar = 10
    ali še preprosteje:
    nVar = 10

    Tukaj ne zamenjujte znaka enačaja z operatorjem enačaja. Zadnji izraz pomeni "nastavi vrednost nVar na 10" in če je vrstica videti takole: If (nVar = 10) , potem pomeni "če je vrednost nVar 10".

    Operatorji primerjave v VBA jih je samo 8:

    • enakost (=). Na primer Če (nVar = 10);
    • večji od (>) in manjši od (10);
    • večje ali enako (>=) in manjše ali enako (= 10);
    • ni enako (). Na primer, If(nVar10);
    • primerjava predmetov (I). Določa, ali se spremenljivke objekta nanašajo na isti objekt ali na različne. Na primer Če (obj1 je obj2);
    • podobnost (Like). Primerja objekt niza z vzorcem in ugotovi, ali se vzorec ujema.

    Operatorji primerjave se vedno vrnejo Prav(če trditev drži) oz False(če je trditev napačna).

    Zelo pogosto pri preverjanju več pogojev uporabljajo logični operatorji:

    • In - logični IN Oba pogoja morata biti resnična;
    • Ali - logični ALI. Vsaj eden od pogojev mora biti izpolnjen;
    • Ne – logična negacija. Vrne True, če je pogoj napačen;
    • Xor je logična izjema. V izrazu E1 Xor E2 vrne True, če je samo E1 = True ali samo E2 = True, sicer False;
    • Eqv - enakovrednost dveh izrazov, vrne True, če imata enako vrednost;
    • Imp - implikacija, E1 Imp E2 vrne False, če E1 = True in E2 = False, drugače True.

    Morate se spomniti približno In, Ali, Ne, se drugi logični operatorji redko uporabljajo.

    Spremenljivke- To so vsebniki za shranjevanje spremenljivih podatkov. Skoraj noben program ne more brez njih. Za poenostavitev lahko spremenljivko primerjamo s številko v garderobi – garderobi daš nekaj podatkov, v odgovor pa dobiš številko. Ko te podatke ponovno potrebujete, "predstavite številko" in jo prejmete.

    Vsaka spremenljivka ima ime. Spremenljivka je dostopna po imenu. Pravila za izbiro imen v VBA so enaka za številne elemente (spremenljivke, konstante, funkcije, procedure itd.):

    • ime se mora začeti s črko;
    • ne sme vsebovati presledkov ali ločil (izjema je podčrtaj);
    • največja dolžina - 255 znakov;
    • mora biti edinstven v trenutnem obsegu
    • rezerviranih besed (tistih, ki so v oknu urejevalnika kode označene z modro) ni mogoče uporabiti.

    Pri izdelavi programov VBA je priporočljivo določiti pravila, po katerih bodo objekti poimenovani – konvencija poimenovanja. Najpogosteje uporabljen je tako imenovani madžarski sporazum (v čast enemu od Microsoftovih programerjev, Charlesu Simonyiju, Madžaru po narodnosti):

    • Ime spremenljivke se mora začeti s predpono, napisano z malimi črkami. Predpona označuje, kaj točno bo shranjeno v tej spremenljivki:
      str (ali s) - niz, vrednost znaka;
      fn (ali f) - funkcija;
      podpostopek;
      c (ali so vse črke imena velike) - konstantna(vsebnik za shranjevanje podatkov, ki se za razliko od spremenljivk ne spreminjajo med izvajanjem programa VBA);
      b - Boolean, logična vrednost (True ali False);
      d - datum;
      obj (ali o) - referenca predmeta;
      n - številčna vrednost;
    • imena funkcij, metod in vsaka beseda v zloženki se mora začeti z veliko začetnico:
      MsgBox objMyDocument.Name
      Sub CheckDateSub()

    Vrsta podatkov veljajo za najbolj temeljne koncepte katerega koli programskega jezika. Podatkovni tip definira nabor veljavnih vrednosti, ki jih lahko sprejme vrednost (spremenljivka ali konstanta), in nabor dejanj, ki jih je mogoče izvesti na tej vrednosti.

    2. Osnovni podatkovni tipi VBA

    VBA ponuja naslednje vrste podatkov:

    • številčno:
      Bajt- celo število od 0 do 255, potrebno za shranjevanje 1 bajt spomin;
      Celo število- celo število od −32.768 do 32.767, 2 bajta ;
      dolga- veliko celo število od −2 147 483 648 do 2 147 483 647, 4 bajti ;
      Valuta(denarni) - velik decimalno število z 19 položaji, vključno s 4 decimalnimi mesti
      (od –922337203685477.5808 do 922337203685477.5807), 4 bajti,
      uporablja se za shranjevanje števil, kadar je točnost izjemno pomembna, kar se zgodi pri računanju z denarnimi enotami;
      decimalno- še večje decimalno število z 29 mesti (za decimalno vejico lahko uporabite od 0 do 28 mest), 8 bajtov;
      Samski in Dvojno- vrednosti s plavajočo vejico ( 4 in 8 bajtov)
      (od -3,402823·10 38 do -1,401298·10 -45 za negativne vrednosti in
      od 1,401298·10 -45 do 3,402823·10 38 za pozitivne vrednosti za enojno in
      od -1,79769313486232·10 308 do -4,94065645841247·10 -324 za negativne vrednosti in
      od 4,94065645841247·10 -324 do 1,79769313486232·10 308 za pozitivne vrednosti za Double);
    • vrvica( Vrvica spremenljiva dolžina (do približno 2 milijardi znakov) in fiksna dolžina (do približno 65.400 znakov));
    • datum in čas ( Datum- od 01.01.100 do 31.12.9999), 8 bajtov;
    • logično ( Boolean- lahko shrani le vrednosti True in False), 2 bajta;
    • objekt ( Objekt- shrani sklic na kateri koli predmet v pomnilnik);
    • Različica- posebna podatkovna vrsta, ki lahko hrani katerokoli vrsto podatkov, 16 bajtov +1
    Oznake vrste podatkov so ključne besede jezika (in so označene, ko jih vnesete v urejevalnik VBA). Nad različne vrste s podatki so možne različne operacije. V VBA obstajajo tri glavne vrste operacij:
    • matematični, izvajajo se na številkah, njihov rezultat so števila;
    • relacijske operacije se lahko uporabljajo ne le za števila, njihov rezultat je vrednost logičnega tipa;
    • logično, uporabljeno v logični izrazi njihov rezultat pa so logične vrednosti.

    3. Prednostne naloge delovanja

    Prednostna naloga Delovanje
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Klic funkcije in oklepaji
    ^
    - (sprememba predznaka)
    *, /
    \
    Mod
    +, –
    >, <, >=, <=, <>, =
    ne
    in
    oz
    Xor

    4. Matematične funkcije

    funkcija Povratna vrednost
    trebušne mišice (<число>) Modul (absolutna vrednost) števila
    Atn(<число>) Arktangens
    Cos(<число>) Kosinus
    Exp (<число>) Eksponent, tj. rezultat dviga osnove naravnega logaritma na določeno potenco
    Dnevnik (<число>) Naravni logaritem
    Rnd (<число>) Naključno število iz intervala [, Naslov]

    Argumenti:

    Sporočilo - zahtevan argument, ki določa informacijsko sporočilo, ki bo prikazano v oknu. Lahko je sestavljen iz več besedilnih vrstic, ki so združene z znakom & . Uporaba v tem argumentu Chr (13) pri izpisu informacij vodi v novo vrstico.

    Gumbi - vrednost tega argumenta določa kategorije gumbov, ki se prikažejo v oknu. Vrednost argumenta gumb tudi določa, ali se v oknu pojavi katera koli ikona. Če ne določite, kateri gumbi naj se prikažejo v sporočilnem polju, se uporabi privzeta vrednost, ki ustreza gumbu V redu. V tabeli 3.1 prikazuje možne kombinacije gumbov in ikon v oknu s sporočili.

    Naslov - nastavi naslov okna.

    funkcija MsgBox vrne vrednost Integer, ki označuje, kateri gumb je bil kliknjen v pogovornem oknu.

    Tabela 3.1. Veljavne vrednosti spremenljivke gumba

    Zaslon

    Prepir

    gumb OK

    Gumba V redu in Prekliči

    Gumba Da in Ne

    Gumbi Da, Ne in Prekliči

    Gumbi Stop, Repeat in Ignore

    VbAbortRetryIgnore

    Gumba Poskusi znova in Prekliči.

    Informacijski znak

    Vprašaj

    Klicaj

    Na primer. Prikažite sporočilo o trenutnem datumu.

    MsgBox "Danes na koledarju" & Datum, "Pozor"

    Posledično se prikaže naslednje okno (slika 3.1).

    Po kliku V redu se bo okno s sporočilom zaprlo in izvajanje programa se bo nadaljevalo od stavka takoj po klicu MsgBox.

    3.3.2. funkcija InputBox

    funkcija InputBox vnaša spremenljive vrednosti z uporabo vnosnega okna in ima naslednjo sintakso:

    Ime_spremenljivke = InputBox(Sporočilo[, Naslov] )

    Argumenti:

    Sporočilo - zahtevan argument. V okno nastavi informativno sporočilo, ki običajno razloži pomen vnesene vrednosti.

    Naslov - nastavi naslov okna.

    Na primer, Vnesite vrednost spremenljivke N s tipkovnico in zagotovite privzeto vrednost 10.

    Če želite to narediti, lahko uporabite naslednji operator:

    N = InputBox("Vnesite N", "Vnos vnosa",10)

    Posledično se prikaže naslednje okno za vnos vrednosti spremenljivke N (slika 3.2).

    Če je privzeta vrednost sprejemljiva za uporabnika, se po kliku na gumb V redu vnosno okno zapre, spremenljivka N bo nastavljena na 10 in izvajanje programa se bo nadaljevalo od stavka takoj za klicem InputBox.

    Če privzeta vrednost ne ustreza uporabniku, morate pred klikom na gumb V redu vnesti želeno vrednost za spremenljivko N.

    3 .4. Pogojni stavek IF

    Za izvedbo razvejanega računalniškega procesa v VBA se uporablja operator Če ... Potem ... Drugače, ki je najenostavnejša oblika preverjanja stanja. Ima naslednjo sintakso:

    čePOGOJPotemOPERATOR_1ElseOPERATOR_2

    OPERATOR_1 izvršiti, če POGOJ res, drugače izvršeno OPERATOR_2. V tem primeru je stavek If...Then...Else zapisan v eni vrstici.

    POGOJ je logični izraz. Rezultat izraza je vedno logični. Izraz je lahko preprost ali zapleten. Pri pisanju enostavnih pogojev lahko uporabimo vse možne relacijske operacije, navedene v tabeli. 3.2.

    Tabela3 .2. Logične relacije

    Delovanje

    Ime

    Izraz

    Rezultat

    Res je, če je A enako B

    Res je, če A ni enako B

    Res je, če je A večji od B

    Res je, če je A manjši od B

    Več ali enako

    Res je, če je A večji ali enak B

    Manj ali enako

    Res je, če je A manjši ali enak B

    Zapletene pogoje tvorimo iz preprostih z uporabo logičnih operacij in oklepajev. Seznam logičnih operacij je podan v tabeli. 3.3.

    Tabela3 .3. Logične operacije

    Ime

    Izraz

    Rezultat

    Boolean
    zanikanje

    Logični IN

    Logični ALI

    V pogojnem stavku je dovoljeno uporabiti blok stavkov namesto katerega koli stavka. V tem primeru je pogojni operator videti takole:

    čePOGOJPotem

    BLOCK_OPERATORS_1

    BLOCK_OPERATORS_2

    Konec If

    Pogojni stavek lahko preizkusi več pogojev. V tem primeru je pogojni operator videti takole:

    čePOGOJ_1Potem

    BLOCK_OPERATORS_1

    ElseIfPOGOJ_2Potem

    BLOCK_OPERATORS_2

    drugače

    Konecče

    Primer 1. Napišite del programa za algoritem na sl. 3.3.

    Primer 2. Napišite del programa za algoritem na sl. 3.4.

    3.5. Izberite operator velikih in malih črk

    Operator Select Case je uporaben, ko morate izvesti različna dejanja glede na vrednost nekega izraza, ki ima končen niz veljavnih vrednosti. Povezan je tudi s pogojnimi stavki, vendar ima drugačno obliko:

    Izberite PrimerIZRAZ NA PREIZKUSU

    OvitekVALUES_1

    OPERATORS_1

    OvitekVREDNOTE_ 2

    OPERATERJI_ 2

    . . .

    OvitekVALUES_N

    OPERATERJI_N

    [ Ovitekdrugače

    DRUGAČE_ OPERATERJI]

    Konec Izberite

    IZRAZ NA PREIZKUSU je lahko katere koli skalarne vrste, razen realne. VREDNOTE sestavljeni iz poljubnega števila vrednosti ali obsegov, ločenih z vejicami.

    Vrsta VREDNOTE mora ustrezati vrsti TEST_EXPRESSION.

    Najprej se izračuna IZRAZ NA PREIZKUSU. Če se njegova vrednost ujema z eno od vrednosti VALUES_I, potem bodo izpolnjeni OPERATORS_I Konec Izberite. Če se njegova vrednost ne ujema z nobeno od vrednosti VALUES_I, potem bodo izpolnjeni ELSE_OPERATORS in nadzor se prenese na operaterja, ki stoji za njim Konec Izberite

    Na primer. Napišite del programa za algoritem na sl. 3.5, ki določa vrednost spremenljivke S v odvisnosti od vrednosti spremenljivke n.

    3.6. Stavki zanke

    Za izvedbo cikličnega računalniškega procesa, to je ponavljajoče se izvajanje enega ali več operatorjev, se uporablja operator zanke Za ... Naprej, ki ima naslednjo sintakso:

    ZaŠTEVEC=START_VREDNOSTToCON_VALUEkorakKORAK

    OPERATOR_BLOK

    OPERATOR_BLOK

    NaslednjiŠTEVEC

    Zanka For...Next kroži po vrednostih spremenljivke ŠTEVEC, ki je parameter zanke, od začetne do končne vrednosti z navedenim korakom spreminjanja. To zagotavlja, da se blok stavkov telesa zanke izvede z vsako novo vrednostjo števca. če korakKORAK v načrtu ni, se privzeto predpostavlja, da je korak enak 1. Glede na operaterja Izhod za lahko pred tem zapustite stavek zanke ŠTEVEC doseže zadnjo vrednost.*

    Za ponavljanje predmetov iz skupine podobnih predmetov, na primer celic iz obsega ali elementov polja, je priročno uporabiti operator zanke Za…Vsak ... Naslednji.

    Za vsakogarElementnotriskupina

    BLOKIRAJ_ OPERATERJI

    OPERATOR_BLOK

    NaslednjiElement

    V VBA se drugi operaterji zank uporabljajo za organiziranje zank z neznanim številom ponovitev:

    zanke s predpogojem - narediMedtemZanka,

    naredidoklerZanka;

    zanke s postpogojem - narediZankaMedtem,

    narediZankadokler.

    Spodaj je sintaksa teh stavkov zanke:

    "Zanka s predpogojemnaredi Medtem Zanka

    Naredi MedtemPOGOJ

    OPERATOR_BLOK

    OPERATOR_BLOK

    "Zanka s predpogojemnaredi dokler Zanka

    naredidoklerPOGOJ

    OPERATOR_BLOK

    OPERATOR_BLOK

    "Zanka s postpogojemnaredi Zanka Medtem

    BLOKIRAJ_ OPERATERJI

    OPERATOR_BLOK

    Zanka MedtemPOGOJ

    "Zanka s postpogojemnaredi Zanka do

    BLOKIRAJ_ OPERATERJI

    OPERATOR_BLOK

    Zanka doPOGOJ

    Operater narediWhile...Loop zagotavlja, da se blok stavkov večkrat ponovi, dokler POGOJ se opazuje in operater



    Druge novice

    Jezikovna navodila (ali operaterji)– to so programske enote, ki izvajajo neka dejanja ali opisujejo podatke.

    Izjava vsebuje eno ali več ključnih besed in po možnosti parametre. Več stavkov, ki se nahajajo v isti programski vrstici, je med seboj ločenih z dvopičjem. Če je stavek predolg, ga lahko razdelite na več vrstic z uporabo podčrtaja _, da ga razdelite.

    O p erator naloge

    Operator dodelitve se uporablja za dodelitev nove vrednosti spremenljivki med izvajanjem programa. Znak dodelitve "=".

    Na primer, operater:

    x = Sqr(5 + Tan(1,8)^2)

    spremenljivki x dodeli vrednost izraza. Kot rezultat izračuna izraza, zapisanega na desni strani, dobimo realno število. Toda vrednost, ki bo dodeljena spremenljivki x, je odvisna od tega, kako je bil deklariran tip te spremenljivke. Torej, če je spremenljivka x tipa Single, ji bo dodeljen rezultat 4,834464, če je Double, potem 4,83446368725481, in če je Integer, potem 5.

    Podatkovni tip spremenljivke x mora biti združljiv s podatkovnim tipom tega izraza. Poleg implicitne pretvorbe iz ene vrste v drugo med dodelitvijo Visual Basic omogoča pretvorbo vrst s pomočjo funkcij. Na primer funkcija CDbl pretvori podatke v dvojni tip, CInt– na vrsto Integer, Clng– za dolg tip, CSng– na enojni tip, CStr– za tipkanje String itd.

    Funkciji CInt in Clng zaokrožita rezultat. Poleg tega, če je delni del števila 0,5, se zaokroži na najbližje sodo število.

    Operator dodelitve vam omogoča ne le dodelitev vrednosti spremenljivki, temveč tudi nastavitev vrednosti lastnosti objektov VBA. Na primer, operater

    Vrstice("1:1").Pisava. Krepko = res

    Naredi pisavo v prvi vrstici delovnega lista krepko.

    PRELOM VRSTICE

    Kombinacija<Пробел> + <Знак подчеркивания>na koncu vrstice zagotavlja, da je naslednja vrstica nadaljevanje prejšnje. Hkrati se moramo spomniti, da:

    § Konstant nizov ne morete prekiniti z zavijanjem

    § Dovoljeno je največ sedem nadaljevanj iste vrstice

    § Sama vrstica ne sme vsebovati več kot 1024 znakov

    Primer.

    Nepravilen prenos Pravilen prenos

    Vrstica = "Visual Basic za _ Vrstica = "Visual Basic" _

    Aplikacije" & "za aplikacije"

    KOMENTARJI

    Besedilo, ki sledi simbolu (") v programu do konca vrstice, prevajalnik prezre in je komentar. Komentarji se uporabljajo za dodajanje razlag in opisov v program. Komentarji so uporabni pri odpravljanju napak v programu: omogočajo da med odpravljanjem napak začasno onemogočite programske vrstice.

    Pogojno operater

    Pogojni stavek izvede določena navodila (stavke) glede na vrednost izraza pogoja. Blokovni diagram za preverjanje stanja izgleda takole:

    riž. 1. Razvejanje je lahko nepopolno (ta struktura se imenuje tudi obvod).

    riž. 2. Pogojni stavek ima dve obliki sintakse: vrstico in blok.

    Oblika z malimi črkami

    če stanje Potem [ operatorji_če_true]

    Algoritem, predstavljen na sl. 1, z malimi črkami bo zapisano kot

    če stanje Potem operatorji_če_true drugače operatorji_če_napačno

    Slika 2 ustreza vnosu

    če stanje Potem operatorji_če_true

    Slika 3 ustreza vnosu

    če stanje Potem pa še operatorji_če_napačno

    Blokiraj obrazec

    če stanje-1 Potem

    [operatorji_če pogoj–1_true]

    [operatorji_če_vsi_pogoji_false]]

    Pogoji, navedeni v delih If in ElseIf, so relacijski izrazi ali logični izrazi. Ko je eden od pogojev izpolnjen, se stavki, ki sledijo njegovi ustrezni ključni besedi Then, izvedejo, preostali stavki pa se prezrejo (to pomeni, da se ne izvedejo nobeni nadaljnji preizkusi in nadzor se prenese na stavek, ki sledi End If). Če nobeden od logičnih pogojev ne drži, potem operatorji_če_vsi_prejšnji_pogoji_false ali, če je ta del izpuščen, se nadzor prenese v programsko vrstico, ki sledi pogojnemu stavku.

    Bločna oblika stavka If je boljša, če:

    Ko je pogoj izpolnjen ali neizpolnjen, se izvede več stavkov (v tem primeru se lahko uporabi tudi vrstična oblika, vendar bo vrstica predolga in program manj jasen);

    Zaporedoma se preveri več pogojev in ko je izpolnjen naslednji pogoj, ni primerno preverjati naslednjih pogojev (zato se uporablja ključna beseda ElseIf).

    Primer

    Veleprodajnim kupcem podjetje nudi popuste.

    Na podlagi znanega obsega naročila je treba določiti njegove stroške.

    Za izračun stroškov naročila uporabimo funkcijo:

    Javna funkcija Order_Cost(količina tako dolgo) kot dvojna

    Če Količina<= 999 Then

    Strošek_naročila = količina * 5

    ElseIf Količina<= 1999 Then

    Stroški_naročila = Količina * 4.8

    Strošek_naročila = količina * 4,75

    V tem primeru je bilo mogoče uporabiti obliko operatorja IF z malimi črkami:

    Javna funkcija Order_Cost1 (količina tako dolgo) kot dvojna

    Če Količina<= 999 Then Стоимость_заказа1 = Количество * 5

    Če je količina >= 1000 in količina<= 1999 Then Стоимость_­ заказа1 = Количество * 4.8

    Če je količina >= 2000, potem je strošek_naročila1 = količina * 4,75

    Če ne upoštevamo slabosti, da so vrstice dolge in se za vsak obseg naročila vsa preverjanja izvajajo zaporedno (prvi postopek deluje hitreje pri majhnih količinah naročil), potem je program napisan pravilno in morda še bolj pregleden.

    Vendar pa je mogoče navesti primere, ko, če je eden od pogojev izpolnjen (ali ni izpolnjen), drugih preprosto ni mogoče preveriti.

    Na primer, je treba nekatere operatorje izvesti, ko so pogoji izpolnjeni skupaj: http://po-teme.com.ua/images/adIIIin/image014_e652e49476c6f0eb9cf40b68cc090828.gif" alt="" width="56" height="27 src="> Če za preglede uporabite operator

    Če je x>0 in y

    potem, če je x negativen, bo pri klicu funkcije sqr prišlo do napake (koren je negativno število).

    Tej napaki se je mogoče izogniti z uporabo zasnove

    Če je x > 0, potem Če je y< Sqr(x) Then

    Če je v zadnji obliki vnosa ključna beseda Else, se ta nanaša na zadnji stavek If.

    Izbirni operater

    Izberite Primer izražanje

    [navodila_drugače]]

    Parameter izraza je poljuben številski ali nizovni izraz. Namesto vrednotenja logičnega pogoja se vrednost izraza primerja z vsako od vrednosti, ki jih določa parameter seznam_izrazov-n.

    Vrednosti za primerjavo so vključene v seznam_izrazov-n, lahko podate v obliki:

    - vrednote;

    – obseg vrednosti v obrazcu začetna_vrednost Za končna_vrednost;

    – primerjalni izrazi v obliki Is vrednost operatorja_primerjanja;

    – seznam katerekoli izmed navedenih vrst izrazov (ločilo – vejica).

    Navodilo lahko vsebuje poljubno število blokov Case. Če nobeden od pogojev ni resničen, se izvedejo stavke v bloku Case Else.

    Na primer, če je pogoj rezultat nad tri, potem lahko ta pogoj zapišemo: Primer 4, 5 ali Primer je >3 ali Primer je >= 4 ali Primer 4 do 5.

    Opomba. Ključna beseda Ni ga treba vnesti; dodano bo samodejno.

    Primer

    Zgornji primer z znižano ceno z uporabo konstrukcije Select Case je mogoče rešiti na naslednji način:

    Javna funkcija Order_Cost2 (količina tako dolgo) kot dvojna

    Izberite količino zaboja

    Stroški_naročila2 = količina * 5

    Zadeva 1000 do 1999

    Stroški_naročila2 = Količina * 4.8

    Primer je >= 2000

    Strošek_naročila2 = količina * 4,75

    Program VBA je zaporedje stavkov.

    Pri pisanju programov je treba upoštevati številne konvencije. Tako lahko v eno vrstico postavimo več izjav. Med stavki v isti vrstici je postavljeno dvopičje.

    Vsako vrstico lahko razdelite na dve tako, da na koncu prve postavite znaka »Presledek« + »Podčrtaj« (_), v tem primeru se bo druga vrstica štela za nadaljevanje prve.

    Komentarji se uporabljajo za lažje branje programa. Komentarje v VBA lahko vnesete na dva načina: z uporabo apostrofa (‘), ki ga lahko postavite kamor koli v vrstico, in z uporabo rezervirane besede Rem namesto apostrofa.

    1. Dim operater je namenjen deklariranju tipov spremenljivk.

    1. Zatemni A kot celo število – spremenljivka A je deklarirana kot celo število, tj. shranil bo samo celoštevilske vrednosti .

    2. Dim D kot datum – spremenljivka D je deklarirana za shranjevanje datumov.

    3. Zatemni priimek, ime kot niz – spremenljivke so deklarirane. Priimek in Ime, namenjeno shranjevanju besedila.

    4. Dim B(12) kot celo število – deklarirana je enodimenzionalna matrika (vektor), sestavljena iz 12 celih števil, privzeto pa bo prvi element matrike B(0), zadnji pa B(12).

    5. Dim B(3,3) kot enojni – deklarirana je dvodimenzionalna 3x3 matrika (matrika), sestavljena iz realnih števil.

    Če tip spremenljivke ni določen, je privzeti tip Variant. Vendar pa določitev posebne vrste spremenljivke naredi program bolj zanesljiv in pospeši njegovo delovanje, ker VBA ni treba izgubljati časa s prepoznavanjem neprijavljene spremenljivke ob vsakem dostopu do nje.

    Če velikost matrike M ni vnaprej znana in je določena med programom, potem pri opisu matrike število elementov ni navedeno in je matrika definirana na naslednji način:

    Dim M() kot celo število

    Ko določite število elementov polja, na primer N, morate napisati operator

    2. Operator dodelitve je namenjen prirejanju vrednosti spremenljivki.

    Sintaksa:

    Spremenljivka (ali lastnost objekta) = izraz.

    1. a=5 – spremenljivki A dodeli vrednost 5 ;

    2. b=“Upravitelj” – spremenljivka b dodeliti kar pomeni "upravitelj";

    · Naslov=Sheets("Organizations").Cells(2,2) – spremenljivki Naslov dodelite vsebino celice B2, ki se nahaja na listu Organizacije v trenutnem delovnem zvezku;

    Last Name=UserForm1.TextBox1.Text – spremenljivka Priimek je dodeljen vsebini polja TextBox1 uporabniškega obrazca UserForm1.

    o Z/Končaj z izjavo programerja prihrani pred velikim številom ponavljanj imena istega objekta.

    Sintaksa:

    S predmetom

    operater1

    operater2

    operaterN

    Na primer, namesto zaporedja izjav

    UserForm1.TextBox1.Text = Datum

    UserForm1.TextBox2.Text = “ “

    UserForm1.ComboBox1.Text = “ “

    lahko zapišemo takole

    TextBox1.Text = Datum

    . TextBox2.Text = “ “

    . ComboBox1.Text = “ “

    REM Na listu Sheet1 v stolpcu A, začenši z drugo vrstico, so zapisane "tarife zaposlenih". Izpolnite kombinirano polje ComboBox1 v uporabniškem obrazcu UserForm1

    'Prva vrstica programa - na listu Sheet1 v stolpcu A' se prešteje število izpolnjenih celic, rezultat 'je dodeljen spremenljivki N

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

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

    Listi(“Sheet1”).Range(D).Name=”Tarife”

    TextBox1.Text = Datum

    . TextBox2.Text = “ “

    . ComboBox1.Text = “ “

    . ComboBox1.Rowsource = “Tarife”

    1. Pogojni stavek If/Then/Else– vam omogoča, da preverite določen pogoj in glede na rezultate preverjanja izvedete eno ali drugo dejanje

    Sintaksa:

    če stanje Potem operaterji1 [ drugače operaterji2]

    Če je pogoj resničen, se izvedejo stavki1, sicer pa se izvedejo stavki2.

    Možna je tudi uporaba kompleksnega pogojnega operatorja, ki je zapisan kot blok:

    če stanje1 Potem

    operaterji1

    ElseIf pogoj2 Potem

    operaterji2

    operaterji3

    Last Name=.TextBox1.Text

    If Last Name =”“ Then MsgBox”Niste vnesli priimka”

    REM Ob potrditvi potrditvenega polja številka 1 naročniku priznamo 5% popust

    ‘ Znesek – znesek denarja, ki ga plača stranka

    Stroški izdelka so shranjeni v spremenljivki Cost

    If UserForm1.CheckBox1.Value = True Potem

    Znesek=Cost-Cost*0,05

    Drugače znesek=strošek

    1) REM Predpostavimo, da je tarifa uveljavljena tarifa, čas pa opravljeni čas. Čas in tarifa se vneseta v vnosna polja 'v TextBox1 oziroma TextBox2. Plača se izračuna po formuli Tarifa*Čas. Napišimo program za prikaz obračunane plače v obrazcu. Oznaka4 – pripravljen napis za 'izpis vrednosti plače'

    If IsNumeric(TextBox1.Text)=True And _

    IsNumeric(TextBox2.Text)=True Potem

    Tarifa=TextBox1.Text

    Time=TextBox2.Text

    Label4.Caption=Tarifa*Čas

    V prvem primeru delamo z uporabniškim obrazcem številka ena. Spremenljivka Priimek dodeljena je vsebina vnosnega polja številka ena. Nato preveri, ali je bilo kaj vneseno v polje za vnos (ali je spremenljivka prazna Priimek). Če spremenljivka Priimek prazno, se na zaslonu prikaže okno s sporočilom.

    V drugem primeru so prve vrstice, ki se začnejo z besedo REM in apostrofi, komentarji, ki pojasnjujejo namen spremenljivk. Pogojni operater določi znesek, ki ga plača stranka.

    Tretji primer preveri, ali so v vnosna polja vpisana števila. Če so številke vnesene v dve polji, se spremenljivkam dodelijo vrednosti vnosnih polj, oznaki pa se dodeli vrednost rezultata množenja tarife s časom.

    1) Operator brezpogojnega skoka Pojdi do je namenjen podajanju prehoda na določeno vrstico znotraj programa.

    Sintaksa:

    Pojdi na niz

    Zahtevani argument Niz je lahko katera koli oznaka vrstice ali številka vrstice.

    If IsNumeric(TextBox1.Text)=False Then GoTo Error

    Napaka: MsgBox »Napaka pri vnosu številk!«

    Zgornji primer preveri, ali je bila številka vnesena v vnosno polje ena. Če vnesena številka ni številka, se vrstica z oznako Napaka premakne in na zaslonu se prikaže sporočilo.

    2) Operator zanke Za/Za/Naprej zasnovan za programiranje ponavljajočih se fragmentov, tj. za opis cikličnih algoritmov.

    Sintaksa:

    Za spremenljivka=M1 Za M2 [ korak M3]

    operaterji

    M1, M2, M3 – izrazi. Stavek zanke ponovi izvedbo skupine stavkov, medtem ko se spremenljivka (števec) spremeni iz začetne vrednosti M1 v končno vrednost M2 z navedenim korakom M3. Če korak ni naveden, se predpostavlja, da je 1.

    Priimek = Listi (“Zaposleni”). Celice (I,1)

    UserForm1.ComboBox1.AddItem Priimek

    V danem primeru se predpostavlja, da na listu »Zaposleni« prvi stolpec vsebuje imena zaposlenih, ki jih je treba vključiti na seznam kombiniranega polja številka ena uporabniškega obrazca številka ena. Algoritem delovanja programa:

    1) Spremenljivki I je pripisana vrednost 2.

    2) Spremenljivki Priimek je dodeljena vrednost celice A(I,1), ki se nahaja na listu »Zaposleni«. (Ko se zanka izvede prvič, je to celica A(2,1))

    3) Element iz spremenljivke Last Name je dodan na seznam kombiniranega polja ComboBox1.

    4) Vrednosti spremenljivke I se doda 1 (če korak ni določen, se predpostavlja, da je enak 1). Izvede se preverjanje, ali je vrednost I presegla 10 (končna vrednost spremenljivke I, v primeru M3=10)? Če je vrednost I celo manjša ali enaka 10, se izvedejo koraki 2-4, sicer se cikel zaključi.

    Tako vam zgornji program omogoča, da seznam ComboBox1 napolnite s podatki.

    Osnovni algoritmi, uporabljeni pri reševanju
    gospodarske naloge

    Oglejmo si osnovne algoritme na naslednjem primeru. Pri izvajanju del po pogodbi so sodelovali zaposleni iz različnih oddelkov. V tabeli na listu »List1« so prikazani podatki o številu opravljenih ur posameznega zaposlenega (slika 8).


    Slika 8. Podatki o številu opravljenih ur

    zaposlenih v podjetju


    Svet brezplačnih programov in koristnih nasvetov
    2024 whatsappss.ru