Vba logické resp. Operátory VBA a vstavané funkcie. Nesprávny prevod Správny prevod

Názov parametra Význam
Téma článku: Operátori VBA
Rubrika (tematická kategória) Programovanie

VBA je jazyk operátorov. To znamená, že jeho programy (procedúry alebo funkcie) predstavujú sekvencie príkazov.

V jazyku VBA môžeme rozlišovať nasledujúce skupiny operátori:

1. deklaratívne operátory určené na opis objektov, s ktorými program pracuje (typy premenných, konštanty a polia atď.),

2. komentáre,

3. operátory na priraďovanie a zmenu hodnôt objektu,

4. operátory, ktoré riadia priebeh výpočtov (podmienené, cyklické, prechodové).

IN tento kurz Základné operátory budú uvažované a niektoré, napríklad cyklické, budú prezentované v troch typoch, ale študenti by mali ovládať iba jeden, ako najzrozumiteľnejší na použitie.

Operátor komentára

Komentáre neovplyvňujú vykonávanie programu, ale sú potrebné na pochopenie algoritmu. Pretože programy sú mnohokrát aktualizované, je dôležité používať komentáre, ktoré vám pomôžu zapamätať si algoritmus a správne ho zmeniť.

Každý riadok textu programu môže končiť komentárom. Komentár vo VBA začína apostrofom (") a obsahuje ľubovoľný text napravo od riadku.

napr.

Hmotnosť= hmotnosť+z "Hodnota zvýšenia hmotnosti = hmotnosť*cena "Nová cena

Operátor pridelenia

Operátory priradenia sú hlavným prostriedkom na zmenu stavu programu (premenné hodnoty). Je to konštrukcia, ktorá spája znak = medzi premennou (ľavá strana) a výrazom (pravá strana). Výraz sa skladá z operandov (názvy premenných, konštanty, názvy štandardných funkcií) a symbolov operácií (aritmetické, logické, reťazcové, porovnávacie). Význam tohto operátora je, že ľavej strane je priradená hodnota pravej strany.

Kontrolné výkazy

Sada kontrolných príkazov VBA zodpovedá štruktúrovaný jazyk programovanie. IN túto sadu zahrnuté podmienené a slučkové príkazy, čo vám umožňuje spoľahlivo a efektívne organizovať proces výpočtu.

Podmienený príkaz If Then Else End If

Toto je bežne používaný operátor výpočtu v programovacích jazykoch, ktorý vám umožňuje vybrať a vykonať akcie založené na pravdivosti určitej podmienky.

Operátory VBA - pojem a typy. Klasifikácia a vlastnosti kategórie „Operátori VBA“ 2017, 2018.

  • - Operátori ochrany života a množstva

    Táto kategória ciferníka je v TRIZ prezentovaná ako „zásada č. 34, vyradenie a regenerácia dielov: a) Časť predmetu, ktorá splnila svoj účel alebo sa stala nepotrebnou, musí byť vyradená (rozpustená, odparená a pod.) alebo upravená. priamo pri práci. b)... .


  • - Prvky jazyka VBA

    Ryža. 12.1 Umiestnené objekty na formulári 6. Aktivovaním každého objektu samostatne na formulári nastavíme jeho vlastnosť pomocou okna vlastností (Vlastnosti obr. 12.2). Takto je vytvorené rozhranie (obr. 12.3). Ryža. 12.3. Rozhranie projektu (s... .


  • - Podmienečné vyhlásenia

    Zložený operátor. Štrukturálne operátory Operátor volania procedúr Operátor nepodmieneného skoku Operátor nepodmieneného skoku poskytuje možnosť zmeniť poradie vykonávania... .


  • - Zložené podmienené príkazy

    Niekedy pri riešení problémov nastáva situácia, keď operátory obsiahnuté vo vetvách môžu naopak obsahovať ďalšie podmienené operátory. Tieto sa nazývajú zložené operátory. Navyše, počet investícií alebo, ako sa tiež hovorí, úroveň investícií môže byť... .


  • - Základy VBA

    Visual Basic For Application (VBA) je kombináciou jedného z najjednoduchších programovacích jazykov a všetkých výpočtových možností tabuľky Excel. Pomocou VBA môžete jednoducho a rýchlo vytvárať rôzne aplikácie, a to aj bez toho, aby ste boli odborníkom v danej oblasti...

  • Stručné teoretické informácie

    1. Syntax a sémantika programovacieho jazyka VBA

    Syntax programovacieho jazyka je súbor pravidiel, ktoré popisujú kombinácie abecedných znakov, ktoré sa považujú za správne štruktúrovaný program (dokument) alebo jeho fragment.

    Základné syntaktické princípy tohto jazyka sú nasledovné:

    • VBA nerozlišuje veľké a malé písmená;
    • na zakomentovanie kódu na koniec riadku použite jediný citát(") alebo príkaz REM;
    • hodnoty znakov musia byť uzavreté v úvodzovkách (");
    • maximálna dĺžka ľubovoľného názvu vo VBA (premenné, konštanty, procedúry) je 255 znakov;
    • začiatok nového výpisu - prevod do Nový riadok(bodkočiarka, ako v C, Java, JavaScript, sa na to nepoužíva);
    • obmedzenia na maximálna dĺžka nie je tam žiadny riadok (hoci v editore sa na riadok zmestí len 308 znakov). Viaceré príkazy na rovnakom riadku sú oddelené dvojbodkami:
      MsgBox "Kontrola 1" : MsgBox "Kontrola 2"
    • Pre uľahčenie čítania môžete spojiť niekoľko fyzických riadkov do jedného logického pomocou medzery a podčiarknutia:
      MsgBox "Správa používateľovi" _
      &vPoužívateľské meno

    Sémantika jazyka je sémantický význam slov. V programovaní - počiatočný sémantický význam operátorov, základné jazykové konštrukcie atď.

    Operátor je najmenšia jednotka kódu VBA, ktorú možno spustiť. Príkaz môže deklarovať alebo definovať premennú, nastaviť voľbu kompilátora VBA alebo vykonať nejakú akciu v programe.

    Aritmetika Vo VBA je iba 7 operátorov.

    Štyri štandardné: sčítanie (+), odčítanie (-), násobenie (*), delenie (/) a tri ďalšie:

    • umocnenie (^). Napríklad 2^3 = 8;
    • celočíselné delenie (\). Vydelí prvé číslo druhým a zahodí (bez zaokrúhlenia) zlomkovú časť. Napríklad 5\2 = 2;
    • modulo delenie (Mod). Vydelí prvé číslo druhým a vráti iba zvyšok delenia. Napríklad 5 Mod 2 = 1.

    Operátor priradenia vo VBA je znamienko rovnosti. Môžete to napísať takto:

    Nech nVar = 10
    alebo ešte jednoduchšie:
    nVar = 10

    Tu si nezamieňajte znamienko rovnosti s operátorom rovná sa. Posledný výraz znamená „nastav hodnotu nVar na 10“ a ak riadok vyzerá takto: If (nVar = 10) , znamená to „ak je hodnota nVar 10“.

    Porovnávacie operátory vo VBA je len 8:

    • rovnosť (=). Napríklad If (nVar = 10);
    • väčšie ako (>) a menšie ako (10);
    • väčšie alebo rovné (>=) a menšie alebo rovné (= 10);
    • nerovná sa (). Napríklad If(nVar10);
    • porovnávanie objektov (Is). Určuje, či premenné objektu odkazujú na rovnaký objekt alebo na iné. Napríklad If (obj1 je obj2);
    • podobnosť (Páči sa mi). Porovná objekt reťazca so vzorom a určí, či sa vzor zhoduje.

    Porovnávacie operátory sa vždy vrátia Pravda(ak je tvrdenie pravdivé) resp Nepravdivé(ak je vyhlásenie nepravdivé).

    Veľmi často pri kontrole niekoľkých podmienok používajú logické operátory:

    • A - logické AND. Obe podmienky musia byť pravdivé;
    • Alebo - logické ALEBO. Aspoň jedna z podmienok musí byť splnená;
    • Nie - logická negácia. Vráti hodnotu True, ak je podmienka nepravdivá;
    • Xor je logická výnimka. Vo výraze E1 Xor E2 vráti hodnotu True, ak iba E1 = True alebo iba E2 = True, inak False;
    • Eqv - ekvivalencia dvoch výrazov, vráti True, ak majú rovnakú hodnotu;
    • Imp - implikácia, E1 Imp E2 vráti False, ak E1 = True a E2 = False, inak True.

    Musíte pamätať na A, Alebo, Nie, iné logické operátory sa používajú len zriedka.

    Premenné- Ide o kontajnery na ukladanie meniteľných údajov. Takmer žiadny program sa bez nich nezaobíde. Pre jednoduchosť možno premennú prirovnať k číslu v šatníku – šatníku zadáte nejaké údaje a ako odpoveď dostanete číslo. Keď budete tieto údaje znova potrebovať, „predložíte číslo“ a dostanete ho.

    Každá premenná má názov. K premennej sa pristupuje podľa názvu. Pravidlá pre výber názvov vo VBA sú rovnaké pre mnohé prvky (premenné, konštanty, funkcie, procedúry atď.):

    • meno musí začínať písmenom;
    • nesmie obsahovať medzery ani interpunkčné znamienka (výnimkou je podčiarknutie);
    • maximálna dĺžka - 255 znakov;
    • musia byť jedinečné v aktuálnom rozsahu
    • vyhradené slová (tie, ktoré sú v okne editora kódu zvýraznené modrou farbou) nemožno použiť.

    Pri vytváraní programov VBA sa odporúča rozhodnúť o pravidlách, podľa ktorých budú objekty pomenované - konvencia pomenovania. Najčastejšie sa používa takzvaná maďarská dohoda (na počesť jedného z programátorov Microsoftu Charlesa Simonyiho, podľa národnosti Maďara):

    • Názov premennej musí začínať predponou napísanou malými písmenami. Predpona označuje, čo presne bude uložené v tejto premennej:
      str (alebo s) - Reťazec, hodnota znaku;
      fn (alebo f) - funkcia;
      čiastkový postup;
      c (alebo sú všetky písmená mena veľké) - konštantný(kontajner na ukladanie údajov, ktoré sa na rozdiel od premenných nemenia počas vykonávania programu VBA);
      b - boolovská, logická hodnota (pravda alebo nepravda);
      d - dátum;
      obj (alebo o) - referencia na objekt;
      n - číselná hodnota;
    • názvy funkcií, metód a každého slova v zloženom slove musia začínať veľkým písmenom:
      MsgBox objMyDocument.Name
      Sub CheckDateSub()

    Dátový typ sú považované za najzákladnejšie pojmy akéhokoľvek programovacieho jazyka. Dátový typ definuje množinu platných hodnôt, ktoré môže hodnota (premenná alebo konštanta) nadobudnúť, a množinu akcií, ktoré možno vykonať s touto hodnotou.

    2. Základné typy údajov VBA

    VBA poskytuje nasledujúce typy údajov:

    • číselné:
      Byte- celé číslo od 0 do 255, potrebné na skladovanie 1 bajt Pamäť;
      Celé číslo- celé číslo od -32 768 do 32 767, 2 bajty ;
      Dlhé- veľké celé číslo od -2 147 483 648 do 2 147 483 647, 4 bajty ;
      mena(peňažné) - veľké desiatkové číslo s 19 pozíciami vrátane 4 desatinných miest
      (od –922337203685477.5808 do 922337203685477.5807), 4 bajty,
      používa sa na ukladanie čísel, keď je presnosť mimoriadne dôležitá, čo sa stáva pri výpočte s peňažnými jednotkami;
      Desatinné- ešte väčšie desatinné číslo s 29 pozíciami (za desatinnou čiarkou môžete použiť 0 až 28 pozícií), 8 bajtov;
      Slobodný A Dvojité- hodnoty s pohyblivou rádovou čiarkou ( 4 a 8 bajtov)
      (od -3,402823·10 38 do -1,401298·10 -45 pre záporné hodnoty a
      od 1,401298·10 -45 do 3,402823·10 38 pre kladné hodnoty pre Single a
      od -1,79769313486232·10 308 do -4,94065645841247·10 -324 pre záporné hodnoty a
      od 4,94065645841247·10 -324 do 1,79769313486232·10 308 pre kladné hodnoty pre Double);
    • reťazec( Reťazec variabilná dĺžka (až približne 2 miliardy znakov) a pevná dĺžka (až približne 65 400 znakov));
    • dátum a čas ( Dátum- od 01.01.100 do 31.12.9999), 8 bajtov;
    • boolovská hodnota ( Boolean- môže ukladať iba hodnoty True a False), 2 bajty;
    • objekt ( Objekt- ukladá odkaz na akýkoľvek objekt v pamäti);
    • Varianta- špeciálny typ údajov, ktorý môže uchovávať akýkoľvek typ údajov, 16 bajtov +1
    Označenia typu údajov sú kľúčové slová jazyka (a sú zvýraznené pri zadávaní v editore VBA). Vyššie rôzne druhy s údajmi sú možné rôzne operácie. Vo VBA existujú tri hlavné typy operácií:
    • matematické, vykonávané na číslach, ich výsledkom sú čísla;
    • relačné operácie možno aplikovať nielen na čísla, ich výsledkom je hodnota logického typu;
    • logické, používané v logické výrazy a ich výsledkom sú boolovské hodnoty.

    3. Operačné priority

    Priorita Prevádzka
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Volanie funkcie a zátvorky
    ^
    - (zmena znamienka)
    *, /
    \
    Mod
    +, –
    >, <, >=, <=, <>, =
    nie
    A
    Alebo
    Xor

    4. Matematické funkcie

    Funkcia Návratová hodnota
    Abs (<число>) Modul (absolútna hodnota) čísla
    Atn(<число>) Arktangens
    Cos(<число>) Kosínus
    Exp (<число>) Exponent, t.j. výsledok zvýšenia základne prirodzeného logaritmu na zadanú mocninu
    Log(<число>) Prirodzený logaritmus
    Rnd (<число>) Náhodné číslo z intervalu [, Názov]

    Argumenty:

    Správa - povinný argument, ktorý určuje informačnú správu, ktorá sa má zobraziť v okne. Môže pozostávať z niekoľkých textových riadkov spojených znakom & . Použitie v tomto argumente Chr(13) vedie pri výstupe informácií na nový riadok.

    Tlačidlá - hodnota tohto argumentu určuje kategórie tlačidiel, ktoré sa zobrazia v okne. Hodnota argumentu tlačidla tiež určuje, či sa v okne zobrazí nejaká ikona. Ak nešpecifikujete, ktoré tlačidlá sa majú zobraziť v okne správy, použije sa predvolená hodnota zodpovedajúca tlačidlu OK. V tabuľke 3.1 zobrazuje možné kombinácie tlačidiel a ikon v okne správy.

    Smerovanie - nastavuje nadpis okna.

    Funkcia MsgBox vráti celočíselnú hodnotu označujúcu, na ktoré tlačidlo sa v dialógovom okne kliklo.

    Tabuľka 3.1. Platné hodnoty premennej tlačidla

    Displej

    Argumentovať

    tlačidlo OK

    Tlačidlá OK a Zrušiť

    Tlačidlá Áno a Nie

    Tlačidlá Áno, Nie a Zrušiť

    Tlačidlá Zastaviť, Opakovať a Ignorovať

    VbAbortRetryIgnore

    Tlačidlá Opakovať a Zrušiť.

    Informačná značka

    Otáznik

    Výkričník

    Napríklad. Zobrazte správu o aktuálnom dátume.

    MsgBox „Dnes v kalendári“ a dátum, „Pozor“

    V dôsledku toho sa zobrazí nasledujúce okno (obr. 3.1).

    Po kliknutí na OK sa okno so správou zatvorí a spustenie programu sa obnoví od príkazu bezprostredne po volaní MsgBox.

    3.3.2. Funkcia InputBox

    Funkcia InputBox zadáva hodnoty premenných pomocou vstupného okna a má nasledujúcu syntax:

    Názov_premennej = InputBox(Správa[, Názov] )

    Argumenty:

    Správa - požadovaný argument. Nastaví informačnú správu v okne, zvyčajne vysvetľujúcu význam zadanej hodnoty.

    Smerovanie - nastavuje nadpis okna.

    Napríklad, Zadajte hodnotu premennej N z klávesnice, pričom predvolená hodnota je 10.

    Ak to chcete urobiť, môžete použiť nasledujúci operátor:

    N = InputBox("Zadajte N", "Vstup vstupu",10)

    V dôsledku toho sa zobrazí nasledujúce okno pre zadanie hodnoty premennej N (obr. 3.2).

    Ak je predvolená hodnota pre používateľa prijateľná, po kliknutí na tlačidlo OK sa vstupné okno zatvorí, premenná N sa nastaví na 10 a vykonávanie programu sa obnoví od príkazu bezprostredne za volaním. InputBox.

    Ak predvolená hodnota nie je pre používateľa vhodná, pred kliknutím na tlačidlo OK musíte zadať požadovanú hodnotu pre premennú N.

    3 .4. Podmienený príkaz IF

    Na implementáciu výpočtového procesu vetvenia vo VBA sa používa operátor Ak...tak...inak,čo je najjednoduchšia forma kontroly stavu. Má nasledujúcu syntax:

    AkSTAVPotomOPERATOR_1ElseOPERATOR_2

    OPERATOR_1 vykonaný ak STAV pravda, inak vykonaná OPERATOR_2. V tomto prípade je príkaz If...Then...Else napísaný na jeden riadok.

    STAV je boolovský výraz. Výsledok výrazu je vždy booleovský. Výraz môže byť jednoduchý alebo zložitý. Pri písaní jednoduchých podmienok je možné použiť všetky možné relačné operácie uvedené v tabuľke. 3.2.

    Tabuľka3 .2. Logické vzťahy

    Prevádzka

    názov

    Výraz

    Výsledok

    Pravda, ak sa A rovná B

    Pravda, ak sa A nerovná B

    Platí, ak je A väčšie ako B

    Platí, ak A je menšie ako B

    Viac alebo rovnaké

    Platí, ak A je väčšie alebo rovné B

    Menej alebo rovnaké

    Platí, ak A je menšie alebo rovné B

    Zložité podmienky sa tvoria z jednoduchých pomocou logických operácií a zátvoriek. Zoznam logických operácií je uvedený v tabuľke. 3.3.

    Tabuľka3 .3. Logické operácie

    názov

    Výraz

    Výsledok

    Boolean
    negácia

    Logické AND

    Logické ALEBO

    V podmienenom príkaze je dovolené použiť blok príkazov namiesto ktoréhokoľvek z príkazov. V tomto prípade podmienený operátor vyzerá takto:

    AkSTAVPotom

    BLOCK_OPERATORS_1

    BLOCK_OPERATORS_2

    Koniec If

    Podmienený príkaz môže testovať viacero podmienok. V tomto prípade podmienený operátor vyzerá takto:

    AkCONDITION_1Potom

    BLOCK_OPERATORS_1

    Ináč AkCONDITION_2Potom

    BLOCK_OPERATORS_2

    Inak

    KoniecAk

    Príklad 1. Napíšte časť programu pre algoritmus na obr. 3.3.

    Príklad 2 Napíšte časť programu pre algoritmus na obr. 3.4.

    3.5. Vyberte Operátor prípadu

    Operátor Select Case je užitočný, keď potrebujete vykonať rôzne akcie v závislosti od hodnoty nejakého výrazu, ktorý má konečnú množinu platných hodnôt. Súvisí tiež s podmienenými príkazmi, ale má inú formu:

    Vyberte položku PrípadVYJADRENIE POD TESTOM

    PrípadVALUES_1

    OPERATORS_1

    PrípadHODNOTY_ 2

    OPERÁTOROV_ 2

    . . .

    PrípadVALUES_N

    OPERÁTOROV_N

    [ PrípadInak

    INAK_ OPERÁTOROV]

    Koniec Vyberte

    VYJADRENIE POD TESTOM môže byť akéhokoľvek skalárneho typu okrem skutočného. HODNOTY pozostávajú z ľubovoľného počtu hodnôt alebo rozsahov oddelených čiarkami.

    Typ HODNOTY musí zodpovedať typu TEST_EXPRESSION.

    Najprv sa vypočíta VYJADRENIE POD TESTOM. Ak sa jeho hodnota zhoduje s niektorou z hodnôt VALUES_I, potom sa splnia OPERATORS_I Koniec Vyberte. Ak sa jeho hodnota nezhoduje so žiadnou z hodnôt VALUES_I, potom sa splnia ELSE_OPERATORS a riadenie sa prenesie na operátora stojaceho po ňom Koniec Vyberte

    Napríklad. Napíšte časť programu pre algoritmus na obr. 3.5, ktorý určuje hodnotu premennej S v závislosti od hodnoty premennej n.

    3.6. Výkazy slučky

    Na implementáciu cyklického výpočtového procesu, t.j. opakovaného vykonávania jedného alebo viacerých operátorov, sa používa operátor slučky Pre...Ďalej, ktorý má nasledujúcu syntax:

    PreCOUNTER=START_VALUEToCON_VALUEKrokKROK

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    ĎalšiePOČÍTADLO

    Cyklus For…Next prechádza cez hodnoty premennej POČÍTADLO, čo je parameter cyklu, od počiatočnej po konečnú hodnotu so zadaným krokom zmeny. To zaisťuje, že blok príkazov tela slučky sa vykoná s každou novou hodnotou počítadla. Ak KrokKROK v návrhu absentuje, potom sa štandardne predpokladá, že krok je rovný 1. Podľa operátora Ukončiť pre môžete predtým ukončiť príkaz cyklu POČÍTADLO dosiahne poslednú hodnotu.*

    Na iteráciu objektov zo skupiny podobných objektov, napríklad buniek z rozsahu alebo prvkov poľa, je vhodné použiť operátor slučky Pre...Každý...Ďalší.

    Pre každýElementInSkupina

    BLOKOVAŤ_ OPERÁTOROV

    OPERATOR_BLOCK

    ĎalšieElement

    Vo VBA sa na organizáciu slučiek s neznámym počtom opakovaní používajú iné operátory slučiek:

    slučky s podmienkou - DoZatiaľ čoSlučka,

    DoAž kýmSlučka;

    slučky s postcondition - DoSlučkaZatiaľ čo,

    DoSlučkaAž kým.

    Nižšie je uvedená syntax týchto príkazov cyklu:

    „Slučka s podmienkouDo Zatiaľ čo Slučka

    Do KýmSTAV

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    „Slučka s podmienkouDo Až kým Slučka

    DoAž kýmSTAV

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    "Slučka s dodatočnou podmienkouDo Loop While

    BLOKOVAŤ_ OPERÁTOROV

    OPERATOR_BLOCK

    Loop WhileSTAV

    "Slučka s dodatočnou podmienkouDo Opakovať do

    BLOKOVAŤ_ OPERÁTOROV

    OPERATOR_BLOCK

    Opakovať doSTAV

    Operátor DoWahoj...Slučka zaisťuje, že sa blok príkazov opakuje viackrát, kým STAV a prevádzkovateľ



    Ďalšie novinky

    Jazykové pokyny (alebo operátori)– sú to programové jednotky, ktoré vykonávajú nejaké akcie alebo popisujú dáta.

    Príkaz obsahuje jedno alebo viac kľúčových slov a prípadne parametrov. Niekoľko príkazov nachádzajúcich sa na rovnakom riadku programu je od seba oddelených dvojbodkou. Ak je príkaz príliš dlhý, môžete ho rozdeliť na viacero riadkov pomocou znaku podčiarknutia _.

    O P erátorúlohy

    Operátor priradenia sa používa na priradenie novej hodnoty premennej počas vykonávania programu. Znak priradenia "=".

    Napríklad, operátor:

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

    priradí premennej x hodnotu výrazu . Ako výsledok výpočtu výrazu napísaného na pravej strane dostaneme reálne číslo. Ale hodnota, ktorá bude priradená premennej x, závisí od toho, ako bol typ tejto premennej deklarovaný. Ak je teda premenná x typu Single, bude jej priradený výsledok 4.834464, ak je to Double, potom 4.83446368725481 a ak je to celé číslo, tak 5.

    Typ údajov premennej x musí byť kompatibilný s typom údajov tohto výrazu. Okrem implicitnej konverzie z jedného typu na druhý počas priraďovania poskytuje Visual Basic možnosť konvertovať typy pomocou funkcií. Napríklad funkcia CDbl konvertuje dáta na typ Double, CInt– na typ Integer, Clng- k typu Long, CSng– na typ Single, CStr– napísať reťazec atď.

    Funkcie CInt a Clng zaokrúhlia výsledok. Navyše, ak je zlomková časť čísla 0,5, zaokrúhľuje sa na najbližšie párne číslo.

    Operátor pridelenia umožňuje nielen priradiť hodnotu premennej, ale aj nastaviť hodnoty vlastností objektov VBA. Napríklad operátor

    Riadky("1:1").Písmo. Tučné = pravda

    Zvýrazní písmo v prvom riadku pracovného hárka.

    PRERUŠENIE RIADKU

    Kombinácia<Пробел> + <Знак подчеркивания>na konci riadku zabezpečuje, že nasledujúci riadok je pokračovaním predchádzajúceho. Zároveň si musíme uvedomiť, že:

    § Konštanty reťazca nemôžete zlomiť obalením

    § Nie je povolených viac ako sedem pokračovaní tej istej línie

    § Samotný riadok nemôže obsahovať viac ako 1024 znakov

    Príklad.

    Nesprávny prevod Správny prevod

    Line = "Visual Basic for _ Line = "Visual Basic" _

    Aplikácie" a "pre aplikácie"

    KOMENTÁRE

    Text nasledujúci za symbolom (") v programe až do konca riadku je kompilátorom ignorovaný a ide o komentár. Komentáre sa používajú na pridávanie vysvetlení a popisov k programu. Komentáre sú užitočné pri ladení programu: umožňujú môžete dočasne vypnúť programové riadky počas ladenia.

    Podmienené operátor

    Podmienený príkaz vykoná určité inštrukcie (príkazy) v závislosti od hodnoty výrazu podmienky. Bloková schéma na kontrolu stavu vyzerá takto:

    Ryža. 1. Rozvetvenie môže byť neúplné (táto štruktúra sa nazýva aj bypass).

    Ryža. 2. Podmienený príkaz má dve formy syntaxe: riadkovú a blokovú.

    Forma s malými písmenami

    Ak stave Potom [ operator_if_true]

    Algoritmus uvedený na obr. 1, v tvare malých písmen sa bude písať ako

    Ak stave Potom operator_if_true Inak operator_if_false

    Obrázok 2 zodpovedá záznamu

    Ak stave Potom operator_if_true

    Obrázok 3 zodpovedá záznamu

    Ak stave Potom Else operator_if_false

    Blokový formulár

    Ak podmienka-1 Potom

    [operator_if podmienka–1_true]

    [operator_if_all_conditions_false]]

    Podmienky uvedené v častiach If a ElseIf sú relačné výrazy alebo logické výrazy. Keď je splnená jedna z podmienok, vykonajú sa príkazy za príslušným kľúčovým slovom Then a zvyšné príkazy sa ignorujú (to znamená, že sa nevykonajú žiadne ďalšie testy a kontrola sa prenesie na príkaz nasledujúci za End If). Ak nie je splnená žiadna z logických podmienok, potom operator_if_all_previous_conditions_false, alebo, ak je táto časť vynechaná, riadenie sa prenesie na riadok programu nasledujúci za podmieneným príkazom.

    Bloková forma príkazu If je vhodnejšia, ak:

    Keď je podmienka splnená alebo nie je splnená, vykoná sa niekoľko príkazov (v tomto prípade možno použiť aj riadkový formulár, ale riadok bude príliš dlhý a program menej prehľadný);

    Postupne sa kontroluje niekoľko podmienok a keď je splnená ďalšia podmienka, je nevhodné kontrolovať nasledujúce podmienky (preto sa používa kľúčové slovo ElseIf).

    Príklad

    Spoločnosť poskytuje veľkoobchodným odberateľom zľavy.

    Na základe známeho objemu objednávky je potrebné určiť jej cenu.

    Na výpočet ceny objednávky používame funkciu:

    Verejná funkcia Order_Cost (množstvo ako dlhé) ako dvojnásobok

    Ak Množstvo<= 999 Then

    Objednávka_cena = množstvo * 5

    ElseIf Množstvo<= 1999 Then

    Objednávka_cena = množstvo * 4.8

    Objednávka_cena = množstvo * 4,75

    V tomto prípade bolo možné použiť malý tvar operátora IF:

    Verejná funkcia Order_Cost1 (množstvo ako dlhé) ako dvojnásobok

    Ak Množstvo<= 999 Then Стоимость_заказа1 = Количество * 5

    Ak Množstvo >= 1000 a Množstvo<= 1999 Then Стоимость_­ заказа1 = Количество * 4.8

    Ak Množstvo >= 2000, potom Objednávka_Cena1 = Množstvo * 4,75

    Ak nezohľadníme nevýhody, že rady sú dlhé a pri akomkoľvek objeme objednávky sa všetky kontroly vykonávajú postupne (prvý postup funguje rýchlejšie pri malých objemoch objednávok), program je napísaný správne a možno ešte prehľadnejší.

    Je však možné uviesť príklady, kedy ak je splnená (alebo nesplnená) jedna z podmienok, ostatné jednoducho nemožno skontrolovať.

    Napríklad, niektoré operátory sa musia vykonať, keď sú podmienky splnené spoločne: http://po-teme.com.ua/images/adIIIin/image014_e652e49476c6f0eb9cf40b68cc090828.gif" alt="" width="56" height="27 src="> Ak pre kontroly použite operátor

    Ak x>0 a y

    ak je x záporné, pri volaní funkcie sqr sa vyskytne chyba (odmocnina je záporné číslo).

    Tejto chybe sa dá vyhnúť použitím dizajnu

    Ak x > 0 Potom Ak y< Sqr(x) Then

    Ak v poslednej forme záznamu existuje kľúčové slovo Else, potom sa vzťahuje na posledný príkaz If.

    Operátor výberu

    Vyberte položku Prípad výraz

    [inštrukcie_inak]]

    Parameter výrazu je ľubovoľný číselný alebo reťazcový výraz. Namiesto vyhodnotenia logickej podmienky sa hodnota výrazu porovnáva s každou z hodnôt špecifikovaných parametrom zoznam_výrazov-n.

    Hodnoty na porovnanie zahrnuté v zoznam_výrazov-n, možno špecifikovať v tvare:

    – hodnoty;

    – rozsah hodnôt vo formulári pôvodná hodnota Komu konečná_hodnota;

    – porovnávacie výrazy v tvare Is hodnota porovnávacieho_operátora;

    – zoznam ktoréhokoľvek z uvedených typov výrazov (oddeľovač – čiarka).

    Inštrukcia môže obsahovať ľubovoľný počet blokov Case. Ak nie je splnená žiadna z podmienok, vykonajú sa príkazy v bloku Case Else.

    Napríklad, ak je podmienka skóre nad tri, potom túto podmienku možno zapísať: Prípad 4, 5 alebo Prípad je >3 alebo Prípad >= 4 alebo Prípad 4 až 5.

    Poznámka. Kľúčové slovo Nie je potrebné zadávať, doplní sa automaticky.

    Príklad

    Uvedený príklad so zvýhodnenou cenou pomocou konštrukcie Select Case je možné riešiť nasledovne:

    Verejná funkcia Order_Cost2 (množstvo ako dlhé) ako dvojnásobok

    Vyberte Množstvo prípadu

    Objednávka_cost2 = Množstvo * 5

    Prípad 1000 až 1999

    Objednávka_cost2 = Množstvo * 4.8

    Prípad je >= 2000

    Objednávka_cost2 = množstvo * 4,75

    Program VBA je postupnosť príkazov.

    Existuje množstvo konvencií, ktoré by sa mali pri písaní programov dodržiavať. Na jeden riadok je teda možné umiestniť viacero výpisov. Dvojbodka sa umiestni medzi príkazy na rovnakom riadku.

    Ľubovoľný riadok možno rozdeliť na dva umiestnením znakov „Medzerník“ + „Podčiarkovník“ (_) na koniec prvého, v takom prípade bude druhý riadok považovaný za pokračovanie prvého.

    Komentáre sa používajú na uľahčenie čítania programu. Existujú dva spôsoby zadávania komentárov vo VBA: pomocou apostrofu (‘), ktorý môže byť umiestnený kdekoľvek na riadku, a použitím vyhradeného slova Rem namiesto apostrofu.

    1. Dim operátor je určený na deklarovanie typov premenných.

    1. Dim A ako celé číslo – premenná A je deklarovaná ako celé číslo, t.j. bude ukladať iba celočíselné hodnoty .

    2. Dim D ako dátum – premenná D je deklarovaná na ukladanie dátumov.

    3. Dim Priezvisko, Meno ako reťazec – premenné sú deklarované. Priezvisko a Meno, určené na ukladanie textu.

    4. Dim B(12) ako celé číslo – deklaruje sa jednorozmerné pole (vektor) pozostávajúce z 12 celých čísel a štandardne bude prvý prvok poľa B(0) a posledný B(12).

    5. Dim B(3,3) Ako Single – je deklarované dvojrozmerné 3x3 pole (matica) pozostávajúce z reálnych čísel.

    Ak nie je zadaný typ premennej, predvolený typ je Variant. Zadanie konkrétneho typu premennej však robí program spoľahlivejším a urýchľuje jeho chod, pretože VBA nemusí strácať čas rozpoznávaním nedeklarovanej premennej pri každom prístupe k nej.

    Ak veľkosť poľa M nie je vopred známa a je určená počas programu, pri popise poľa sa počet prvkov neuvádza a pole je definované takto:

    Dim M() ako celé číslo

    Po určení počtu prvkov poľa, napríklad N, musíte napísať operátor

    2. Operátor pridelenia je určený na priradenie hodnoty premennej.

    Syntax:

    Premenná (alebo vlastnosť objektu) = výraz.

    1. a=5 – priraďte premennej A hodnotu 5 ;

    2. b = „Manažér“ – premenná b priradiťčo znamená "manažér";

    · Address=Sheets("Organizácie").Cells(2,2) – priraďte premennej Adresa obsah bunky B2, ktorá sa nachádza na hárku Organizácie v aktuálnom zošite;

    Priezvisko=UserForm1.TextBox1.Text – premenlivý Priezvisko je priradené k obsahu poľa TextBox1 používateľského formulára UserForm1.

    o S/Skončiť príkazom ušetrí programátora pred veľkým počtom opakovaní názvu toho istého objektu.

    Syntax:

    S objektom

    operátor1

    operátor2

    operátorN

    Napríklad namiesto postupnosti výrokov

    UserForm1.TextBox1.Text = Dátum

    UserForm1.TextBox2.Text = „ “

    UserForm1.ComboBox1.Text = „ “

    dá sa napísať aj takto

    TextBox1.Text = Dátum

    . TextBox2.Text = „ “

    . ComboBox1.Text = „ “

    REM Na hárku Hárok 1 v stĺpci A, počnúc druhým riadkom, sa zapíšu „zamestnanecké tarify“. Vyplňte rozbaľovacie pole ComboBox1 v užívateľskom formulári UserForm1

    „Prvý riadok programu – na liste Hárok1 v stĺpci A „spočíta sa počet vyplnených buniek, výsledok „je priradený k premennej N

    N=Aplikácia.PočetA(Hárok(“Hárok1”).Rozsah(“A:A”)).

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

    Tabuľky(“Hárok1”).Rozsah(D).Názov=”Tarify”

    TextBox1.Text = Dátum

    . TextBox2.Text = „ “

    . ComboBox1.Text = „ “

    . ComboBox1.Rowsource = „Tarify“

    1. Podmienené vyhlásenie If/Then/Else– umožňuje skontrolovať určitý stav a v závislosti od výsledkov kontroly vykonať jednu alebo druhú akciu

    Syntax:

    Ak stave Potom operátori1 [ Inak operátori2]

    Ak je podmienka pravdivá, vykonajú sa príkazy1, v opačnom prípade sa vykonajú príkazy2.

    Je tiež možné použiť komplexný podmienený operátor, ktorý je napísaný ako blok:

    Ak podmienka1 Potom

    operátori1

    Ináč Ak podmienka2 Potom

    operátori2

    operátori3

    Priezvisko=.TextBox1.Text

    Ak Priezvisko =““ Potom MsgBox“Nezadali ste priezvisko“

    REM Pri zaškrtnutí políčka číslo 1 je klientovi poskytnutá zľava 5%.

    ‘ Suma – suma peňazí zaplatená klientom

    “ Náklady na produkt sú uložené v premennej Náklady

    Ak UserForm1.CheckBox1.Value = True Then

    Suma=Cost-Cost*0,05

    Inak Čiastka=Cena

    1) REM Predpokladajme, že tarifa je stanovená tarifa a čas je odpracovaný čas. Čas a tarifa sa zadávajú do vstupných polí „v TextBox1 a TextBox2. Mzda sa vypočíta pomocou vzorca Tarifa*Čas. Napíšeme program na zobrazenie vypočítanej mzdy vo formulári. Label4 – nápis pripravený na „zobrazenie hodnoty platu“

    If IsNumeric(TextBox1.Text)=True And _

    IsNumeric(TextBox2.Text)=Pravda

    Tarif=TextBox1.Text

    Time=TextBox2.Text

    Label4.Caption=Tarifa*Čas

    V prvom príklade pracujeme s užívateľským formulárom číslo jedna. Variabilné Priezvisko priradí sa obsah vstupného poľa číslo jedna. Potom skontroluje, či bolo niečo zadané do vstupného poľa (či je premenná prázdna Priezvisko). Ak premenná Priezvisko je prázdna, na obrazovke sa zobrazí okno so správou.

    V druhom príklade sú prvé riadky začínajúce slovom REM a apostrofy komentármi vysvetľujúcimi účel premenných. Podmienený operátor určuje sumu, ktorú zaplatí klient.

    Tretí príklad kontroluje, či sú do vstupných polí zadané čísla. Ak sú čísla zadané do dvoch polí, potom sa premenným priradia hodnoty vstupných polí a štítku sa priradí hodnota výsledku vynásobenia tarify časom.

    1) Operátor bezpodmienečného skoku Ísť do je určený na špecifikáciu prechodu na určený riadok v rámci programu.

    Syntax:

    Prejsť na reťazec

    Povinný argument Reťazec môže byť ľubovoľný štítok riadka alebo číslo riadku.

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

    Chyba: MsgBox „Chyba pri zadávaní čísel!“

    Vyššie uvedený príklad skontroluje, či bolo do vstupného poľa jedna zadané číslo. Ak zadané číslo nie je číslo, riadok s označením Chyba sa presunie a na obrazovke sa zobrazí správa.

    2) Operátor slučky Pre/Do/Ďalej určený na programovanie opakujúcich sa fragmentov, t.j. popísať cyklické algoritmy.

    Syntax:

    Pre premenná=M1 Komu M2 [ Krok M3]

    operátorov

    M1, M2, M3 – výrazy. Príkaz cyklu opakuje vykonávanie skupiny príkazov, pričom premenná (počítadlo) sa mení z počiatočnej hodnoty M1 na konečnú hodnotu M2 so špecifikovaným krokom M3. Ak krok nie je špecifikovaný, predpokladá sa, že je 1.

    Priezvisko = Sheets(“Zamestnanci”).Cells(I,1)

    UserForm1.ComboBox1.AddItem Last Name

    V uvedenom príklade sa predpokladá, že na hárku „Zamestnanci“ prvý stĺpec obsahuje mená zamestnancov, ktorí musia byť zaradení do zoznamu rozbaľovacieho poľa číslo jedna užívateľského formulára číslo jedna. Algoritmus činnosti programu:

    1) Premennej I je priradená hodnota 2.

    2) Premennej Priezvisko má priradenú hodnotu bunky A(I,1), ktorá sa nachádza na hárku „Zamestnanci“. (Keď sa cyklus vykoná prvýkrát, je to bunka A(2,1))

    3) Do zoznamu ComboBox1 sa pridá prvok z premennej Priezvisko.

    4) K hodnote premennej I sa pripočíta 1 (ak krok nie je určený, potom sa predpokladá, že sa rovná 1). Vykoná sa kontrola, či hodnota I prekročila 10 (konečná hodnota premennej I, v príklade M3=10)? Ak je hodnota I dokonca menšia alebo rovná 10, vykonajú sa kroky 2-4, inak sa cyklus skončí.

    Vyššie uvedený program vám teda umožňuje naplniť zoznam ComboBox1 údajmi.

    Základné algoritmy používané pri riešení
    ekonomické úlohy

    Pozrime sa na základné algoritmy pomocou nasledujúceho príkladu. Na realizácii prác podľa zmluvy sa podieľali zamestnanci z rôznych oddelení. Tabuľka na liste „Hárok1“ uvádza údaje o počte odpracovaných hodín každého zamestnanca (obr. 8).


    Obr. 8. Údaje o počte odpracovaných hodín

    zamestnancov spoločnosti


    Svet bezplatných programov a užitočných tipov
    2024 whatsappss.ru