Operátory v programe Excel VBA

Znaky a kľúčové slová, ktoré používame na ovládanie premennej vo VBA, sa nazývajú operátori VBA. Napríklad v riadkoch pod riadkami =, +,>, & sú operátori.

sub Examp () a = 12 b = 10 c = a+b debug.print "Súčet a a b je" & c koniec sub 

Existuje päť typov operátorov v akomkoľvek programovacom jazyku, teda vo VBA
1. Operátor priradenia
2. Aritmetický operátor
3. Operátor porovnávania
4. Logický operátor
5. Operátor zreťazenia

Pozrime sa na každý typ operátora v programe Excel VBA.

1. Operátor priradenia (=)

Toto je prvý operátor, ktorý použijete v akomkoľvek programovacom jazyku. Vo VBA slúži na priradenie hodnôt premenným. Je to „=“ (rovná sa).

Tento operátor používame na priraďovanie hodnôt premenným v programe Excel VBA. Používa sa tiež ako operátor porovnávania vo VBA. Hovoríme o tom neskôr v tomto návode.

Jeden jednoduchý príklad je

čiastkový test () a = 10 Rozsah („A1“). hodnota = a koncový sub 

Vo vyššie uvedenom príklade najskôr použijeme operátor priradenia "=" na priradenie hodnoty premennej "a" a potom pomocou operátora "=" priradíme hodnotu "a" hodnote Rozsah ("A1").

2. Aritmetické operátory

Aritmetické operátory sú tie isté operátory, ktoré používame od detstva na jednoduché výpočty. V programe Excel VBA sa tieto operátory používajú na výpočty premenných a čísel. Oni sú:

(+) Aritmetický prírastok:Tento operátor sa používa na sčítanie dvoch alebo viacerých čísel alebo hodnôt dvoch alebo viacerých premenných. Nasledujúce riadky sumarizujú hodnoty týchto dvoch premenných a vytlačia ich do bunky „A1“.

Dielčí test () a = 10 b = 12 Rozsah („A1“). Hodnota =a+b Koniec pod

A1 bude mať 22. Tento operátor funguje aj ako operátor zreťazenia. Ak a a b budú mať reťazcové hodnoty, potom + bude fungovať ako operátor zreťazenia. Uvidíme ako, neskôr v článku.

(-) Aritmetické odčítanie:Tento operátor sa používa na odpočítanie jednej hodnoty od inej hodnoty premenných. Nasledujúci riadok odpočíta hodnotu a od b a vytlačí ju do bunky „A1“.

Dielčí test () a = 10 b = 12 Rozsah („A1“). Hodnota =b-a Koniec pod

A1 na hárku bude mať 2.

(*) Aritmetické násobenie:Tento operátor sa používa na vynásobenie alebo získanie súčinu dvoch alebo viacerých čísel alebo hodnôt dvoch alebo viacerých premenných. Nasledujúce riadky vynásobia hodnoty týchto dvoch premenných a vytlačia ich do bunky „A1“.

Dielčí test () a = 10 b = 12 Rozsah („A1“). Hodnota =a*b Koniec pod

Bunka A1 bude mať hodnotu 120.

(/) Aritmetické delenie:Tento operátor sa používa na delenie jednej hodnoty od druhej. Nasledujúci riadok vydelí hodnotu b premennou a a vytlačí ju do bunky „A1“.

Dielčí test () a = 10 b = 12 Rozsah („A1“). Hodnota =b/a Koniec pod

Bunka A1 bude mať hodnotu 1,2.

(Mod) Operátor aritmetického zvyšku vo VBA: Zatiaľ čo väčšina PL používa % (modul) na získanie zvyšku, vo VBA používame kľúčové slovo Mod. Tento operátor slúži na získanie pripomenutia po rozdelení jednej hodnoty od druhej. Nasledujúci riadok vydelí hodnotu b premennou a a vytlačí hodnotu pripomenutia do bunky A1.

Dielčí test () a = 10 b = 4 Rozsah („A1“). Hodnota =a Mod b Koniec pod 

Bunka A1 bude mať hodnotu 2.

(^) Aritmetický exponenciálny:Tento operátor sa používa na prenos exponentu jednej hodnoty k druhej. Nasledujúce riadky nám poskytnú hodnotu 3 pre exponenciálnu 4.

Dielčí test () a = 3 b = 4 Rozsah („A1“). Hodnota =a^b Koniec pod

Bunka A1 bude mať hodnotu 81 (3x3x3x3).

Títo operátori vo VBA sa riadia pravidlom BODMAS. Vo VBA je iba 6 aritmetických operátorov. Niektorí operátori pôsobia ako dva typy operátorov, ako napríklad +. Dozviete sa o nich počas tohto tutoriálu.

3. Operátory porovnávania

Keď chceme vo VBA porovnať dve hodnoty, použijeme porovnávacie operátory. Výsledok porovnávacieho operátora je vždy booleovský. Ak je tvrdenie pravdivé, výsledok je PRAVDA. Ak je tvrdenie nepravdivé, hodnota je nepravdivá. Títo operátori sa často používajú pri rozhodovaní vo VBA. Pozrime sa, aké sú:

(=) Rovná sa:Áno, znamienko = (rovná sa) sa používa aj ako operátor porovnávania vo VBA. Keď chceme skontrolovať, či sú tieto dve premenné rovnaké alebo nie, použijeme tento porovnávací operátor.

Dielčí test () a = 3 b = 4 Ak a = b, potom 'vráti nepravdivý MsgBox "A a b sú rovnaké." „Toto nebude popravené. Inak MsgBox "A a b nie sú rovnaké" Koniec IF Koniec Sub

Vo vyššie uvedenom príklade použijeme príkaz If a skontrolujeme, či sú hodnoty a a b rovnaké. Očividne nie sú. Preto je vytlačený výpis Else.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 3 b = 4 debug.print a = b

V bezprostrednom okne sa vytlačí nepravda.

(<) Menej ako:Toto sa používa na kontrolu, či je ľavá hodnota menšia ako pravá hodnota alebo nie.

Dielčí test () a = 3 b = 4 Ak a

Vo vyššie uvedenom príklade skontrolujeme, či je hodnota a menšia ako b. Pretože je to pravda, príkaz if sa spustí a inak nie.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 3 b = 4 debug.print a<>

V bezprostrednom okne sa vytlačí True.

(<=) Menej ako alebo sa rovná:Toto sa používa na kontrolu, či je ľavá hodnota menšia alebo rovná pravej alebo nie.

Dielčí test () a = 4 b = 4 Ak a <= b potom 'vráti True MsgBox "A a je menšie alebo rovné b." „toto bude vykonané. Iná MsgBox „A sa nerovná alebo je menšie ako b.“ „Toto nebude popravené. Koniec IF Koniec Sub

Vo vyššie uvedenom príklade skontrolujeme, či je hodnota a menšia ako b. Pretože je to pravda, príkaz If sa spustí a inak nie.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 4 b = 4 debug.print a <-b

V bezprostrednom okne sa vytlačí True.

(>) Väčšie ako:Toto sa používa na kontrolu, či je ľavá hodnota väčšia ako správna hodnota alebo nie.

Dielčí test () a = 3 b = 4 Ak a> b, potom „vráti nepravdivý MsgBox„ A a je väčšie ako b. “ „Toto nebude popravené. Iná MsgBox „A nie je väčšie ako b.“ „Toto bude popravené. Koniec IF Koniec Sub

Vo vyššie uvedenom príklade skontrolujeme, či je hodnota a väčšia ako b. Pretože je to nepravda, príkaz if sa nespustí a inak áno.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 3 b = 4 debug.print a> b

V bezprostrednom okne sa vytlačí nepravda.

(> =) Väčšie ako:Toto sa používa na kontrolu, či je ľavá hodnota väčšia alebo rovná pravej hodnote alebo nie.

Dielčí test () a = 3 b = 4 Ak a> = b, potom „vráti nepravdivý MsgBox„ A a je väčšie alebo rovné b. “ „Toto nebude popravené. Iná MsgBox „A nie je väčšie alebo rovné b.“ „Toto bude popravené. Koniec Ak

Vo vyššie uvedenom príklade skontrolujeme, či je hodnota a väčšia alebo rovná b. Pretože je to nepravda, príkaz if sa nespustí a inak áno.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 3 b = 4 debug.print a> = b

V bezprostrednom okne sa vytlačí nepravda.

() Nerovná sa:Toto sa používa na kontrolu, či sa ľavá hodnota nerovná pravej.

Dielčí test () a = 3 b = 4 Ak ab, potom 'vráti True MsgBox "A a sa nerovná b",' Toto sa vykoná. Inak MsgBox "A a b sú rovnaké." „Toto nebude popravené. Koniec IF Koniec Sub

Vo vyššie uvedenom príklade skontrolujeme, či je hodnota a nerovná sa b. Pretože je to pravda, príkaz If sa spustí a inak nie.

Môžete to skontrolovať jednoducho pomocou príkazu.

a = 3 b = 4 debug.print ab

V bezprostrednom okne sa vytlačí True.

Vyššie uvedených šesť operátorov sa nazýva porovnávacie operátory, pretože ich používame na porovnanie dvoch hodnôt alebo premenných. Vo VBA ich budete veľa používať na rozhodovanie vo VBA.

4. Logickí operátori

Logické operátory sa používajú na vykonávanie logických operácií s jednou alebo viacerými premennými. Výsledkom takýchto operácií je vždy PRAVDA alebo NEPRAVDA. Logické operátory sa často (nie vždy) používajú na kontrolu viac ako jednej podmienky.

Nasledujú logické operátory, ktoré používame vo VBA:

VBA A operátor (A alebo *): Operátor VBA AND sa používa na zabezpečenie toho, aby podmienky vľavo a vpravo boli pravdivé. Ak je ktorákoľvek z podmienok nepravdivá, celé vyhlásenie bude mať za následok nepravdu. Na operácie AND používame kľúčové slovo And alebo znak * (hviezdička).

Skontrolujte nasledujúce vyhlásenie:

Dielčí test () a = 10 b = 20 Ak a <15 Ab <15 Potom MsgBox „a a b sú menšie ako 15“. „Toto nebude popravené. Iná MsgBox "Buď a alebo b je väčšie alebo sa rovná 15." „Toto bude popravené. End If End Sub 

Keď spustíme vyššie uvedený úryvok, druhý príkaz if sa nespustí. Pretože prvé tvrdenie vľavo je pravdivé, ale tvrdenie vpravo je nepravdivé. Preto celé vyhlásenie vracia hodnotu False.

Vo väčšine jazykov sa symbol & používa ako operátor AND, ale nie vo VBA. Vo VBA môžete použiť operátor násobenia * (hviezdička) ako operátor AND, aby ste zaistili, že sú splnené obe podmienky.

Vo vyššie uvedenom príklade môžete urobiť to isté aj pomocou príkazu if.

Ak (a <15) * (b <15) Potom

Na oddelenie podmienených príkazov musíte použiť zátvorky. V opačnom prípade sa vyhlásenia budú riadiť pravidlom BODMAS a výsledok bude nepresný.

Q1: Aký bude výstup z nižšie uvedeného vyhlásenia? Dajte mi vedieť v sekcii komentárov nižšie:

debug.print a10 AND a = (b/2) AND a<>

Keď hodnota a je 15 a b je 30. Napíšte nižšie do sekcie komentárov.

Operátor VBA ALEBO (alebo +): Operátor OR sa používa, ak chceme zaistiť, aby buď podmienka vľavo bola PRAVDA, alebo podmienka vpravo bola PRAVDA. Ak je niektorá z týchto dvoch podmienok pravdivá, výsledok bude pravdivý. Medzi dvoma booleovskými príkazmi používame kľúčové slovo ALEBO. Na operáciu ALEBO môžete použiť aj znamienko + (plus). Pri použití znamienka + sa uistite, že používate správne zátvorky, aby boli vyhlásenia jasné.

Preskúmajte nasledujúci kód:

Dielčí test () a = 10 b = 20 Ak a <15 Alebo b <15 Potom MsgBox „Buď a alebo b je menšie ako 15.“ „Toto bude popravené. Iná MsgBox "Ani a ani b nie je menšie ako 15." „Toto nebude popravené. End If End Sub

Keď spustíme vyššie uvedený kód, zobrazí sa prvá správa a druhá správa sa preskočí. Pretože a je menšie ako 15 a b nie je. Na to, aby bol výstup pravdivý, potrebuje operátor OR iba jednu podmienku.

Vyhlásenie píšete ako:

Ak (a <15) + (b <15) Potom

Q2: Aký bude výstup z nižšie uvedeného vyhlásenia? Dajte mi vedieť v sekcii komentárov nižšie:

debug.print a10 Alebo a = (b/2) alebo a<>

Keď hodnota a je 10 a b je 5. Napíšte do nižšie uvedenej sekcie komentárov.

VBA NOT Operator (Not): Na prevrátenie booleovskej hodnoty sa používa operátor Not. Inými slovami, príkaz s operátorom Not vráti hodnotu True iba vtedy, ak je tvrdenie pred ním nepravdivé. Ak napríklad použijete kľúčové slovo Nie pred Pravdivým vyhlásením, bude to mať za následok nepravdu a naopak. Vo VBA používame príponu Nie kľúčové slovo na kontrolu, či niečo nie je pravda alebo nepravda (?).

Vedľajší test () a = 10 b = 10 Ak nie a = b Potom MsgBox „a a b nie sú rovnaké“. Inak MsgBox „a a b sú obe rovnaké.“ 'Toto sa vykoná End If End Sub

Vo vyššie uvedenom kóde vyhlásenieNie a = bvráti nepravdivé. Na začiatku je a = b pravda, ale ako sme použili predtým, výsledok sa obráti a tvrdenie sa zmení na nepravdu. V uvedenom príklade sme použili jediné tvrdenia, ktoré pred ním boli. Pred operátorom Nie môžete mať toľko výpisov, koľko chcete. Stačí ich uzavrieť do zátvorky.

Q3: Aký bude výstup z nižšie uvedeného vyhlásenia? Dajte mi vedieť v sekcii komentárov nižšie:

debug.print a10 Alebo nie (a = (b/2) * a<>

Keď hodnota a je 10 a b je 5. Napíšte do nižšie uvedenej sekcie komentárov.

5. Operátory zreťazenia (& alebo +)

Tieto operátory sa používajú na zreťazenie reťazcov. Symbol & sa používa na zreťazenie textov. Odporúča sa, aby operátor zreťazil reťazce. Na zreťazenie však môžete použiť aj znamienko +.

Znamienko plus spája iba dve premenné, ak sú obidve reťazcami. Ak niektorý z reťazcov nie je reťazec, znamienko + bude fungovať ako operátor sčítania.

Pozrite sa na nasledujúci kód:

Dielčí test () a = "Exceltip" b = "je číslo" c = 1 d = 2 Debug.print a & b & c 'toto vytlačí "Exceltip je číslo 1" Debug.print a + b & c & d' toto vytlačí „Exceltip je číslo 12 'Debug.print a + b + c' toto bude chyba. Koniec Sub

Vo vyššie uvedenom kóde budú prvé dva riadky fungovať úplne v poriadku. V treťom riadku sa zobrazí chyba, pretože sa pokúšame pridať text s číslami. Na zreťazenie čísel vždy používame & (amp).

Multifunkční operátori ve VBA

Prostredníctvom vyššie uvedených príkladov ste sa museli dozvedieť, že existuje mnoho operátorov, ktorí v rôznych situáciách pracujú odlišne.

Znak + funguje ako operátor sčítania pri práci s číslami. Pri práci s booleovskými hodnotami funguje znamienko plus ako operátor Or vo VBA. Pri použití s ​​reťazcovými hodnotami funguje operátor plus ako operátor zreťazenia. Nasledujúce riadky sú platné:

Debug.Print 10 + 20 'tlačí 30. + funguje ako operátor pridávania. Debug.Print (1020) 'prints True. + pracuje ako operátor. Debug.Print "10" + "20" 'vytlačí 1020. Znak + funguje ako operátor zreťazenia. 

Znak hviezdičky (*) funguje ako operátor násobenia, ak sú operandy číselné. Keď sú operandy booleovské, hviezdička funguje ako operátor And.

Nasledujúce riadky kódu fungujú úplne v poriadku.

Debug.Print 10 * 20 'vytlačí 200. * funguje ako operátor násobenia. Debug.Print (1020) 'prints False. Znak + funguje ako operátor And. 

Takže áno, chlapci, toto všetko o operátoroch vo VBA. Dúfam, že to bolo užitočné. Ak máte akékoľvek pochybnosti týkajúce sa operátorov vo VBA, opýtajte sa ich v sekcii komentárov nižšie.

Príkaz If ElseIf vo VBA | V prípade If ElseIf je ďalšia podmienka začiarknutá iba vtedy, ak predchádzajúca podmienka padá. Keď je splnená podmienka, kód v tomto bloku sa vykoná a ovládací prvok opustí blok If.

Variabilný rozsah Excel VBA | VBA má tiež špecifikátory rozsahu. Tieto špecifikátory rozsahu je možné použiť na nastavenie viditeľnosti/rozsahu premennej v programe Excel VBA.

Vyhlásenie o prípade VBA | Príkazy na výber prípadov sú užitočné vtedy, ak máte príliš veľa podmienok na kontrolu. Sú vynikajúcou náhradou viacerých vyhlásení If ElseIf.

Použitie slučky vo VBA v programe Microsoft Excel | Smyčky vo VBA nám umožňujú vykonávať podobnú úlohu znova a znova bez opakovania kódu. V programe Excel VBA sú 3 typy slučiek.

Argumenty ByRef a ByVal | Keď je argument odoslaný ako argument ByRef do inej podskupiny alebo funkcie, odošle sa odkaz na skutočnú premennú. Všetky zmeny vykonané v kópii premennej sa prejavia v pôvodnom argumente.

Zobraziť správu na stavovom riadku programu Excel VBA Stavový riadok v programe Excel je možné použiť ako monitor kódu. Keď je váš kód VBA dlhý a vykonávate niekoľko úloh pomocou jazyka VBA, často deaktivujete aktualizáciu obrazovky, aby ste nevideli, ako táto obrazovka bliká.

Vypnúť výstražné správy pomocou VBA v programe Microsoft Excel 2016 | Tento kód nielenže deaktivuje upozornenia VBA, ale tiež zvýši časovú efektívnosť kódu. Pozrime sa ako.

Populárne články:

50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám umožní pracovať ešte rýchlejšie v Exceli.

Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.

COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnej hodnoty nie je potrebné filtrovať údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.

Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok.

Vám pomôže rozvoju miesta, zdieľať stránku s priateľmi

wave wave wave wave wave