Operátoři v aplikaci Excel VBA

Obsah:

Anonim

Znaky a klíčová slova, která používáme k ovládání proměnné ve VBA, se nazývají VBA operátory. Například v řádcích pod řádky =, +,>, & jsou operátory.

sub Examp () a = 12 b = 10 c = a+b debug.print "Součet a a b je" & c end sub 

V jakémkoli programovacím jazyce existuje pět typů operátorů, tedy ve VBA
1. Operátor přiřazení
2. Aritmetický operátor
3. Operátor porovnání
4. Logický operátor
5. Operátor zřetězení

Podívejme se na každý typ operátora v aplikaci Excel VBA.

1. Operátor přiřazení (=)

Toto je první operátor, který budete používat v jakémkoli programovacím jazyce. Ve VBA slouží k přiřazování hodnot proměnným. Je to "=" (rovná se).

Tento operátor používáme k přiřazování hodnot proměnným v Excelu VBA. Používá se také jako operátor porovnávání ve VBA. O tom si povíme později v tomto tutoriálu.

Jeden jednoduchý příklad je

dílčí test () a = 10 Rozsah ("A1"). hodnota = a koncový dílčí test 

Ve výše uvedeném příkladu nejprve použijeme operátor přiřazení "=" k přiřazení hodnoty proměnné "a" a poté pomocí operátoru "=" přiřadíme hodnotu "a" hodnotě Range ("A1").

2. Aritmetické operátory

Aritmetické operátory jsou stejné operátory, které používáme od dětství k provádění jednoduchých výpočtů. V aplikaci Excel VBA se tyto operátory používají k provádění výpočtů proměnných a čísel. Oni jsou:

(+) Aritmetický přídavek:Tento operátor slouží k přidání dvou nebo více čísel nebo hodnot dvou nebo více proměnných. Níže uvedené řádky sečtou hodnoty obou proměnných a vytisknou je do buňky „A1“.

Dílčí test () a = 10 b = 12 Rozsah ("A1"). Hodnota =a+b End Sub

A1 bude mít 22. Tento operátor funguje také jako operátor zřetězení. Pokud oba, a a b budou mít hodnoty řetězce, pak operátor + bude fungovat jako operátor zřetězení. Uvidíme jak, dále v článku.

(-) Aritmetické odčítání:Tento operátor slouží k odečtení jedné hodnoty od jiné hodnoty proměnných. Níže uvedený řádek odečte hodnotu a od b a vytiskne ji v buňce „A1“.

Dílčí test () a = 10 b = 12 Rozsah ("A1"). Hodnota =b-a End Sub

A1 na listu bude mít 2.

(*) Aritmetické násobení:Tento operátor slouží k vynásobení nebo získání součinu dvou nebo více čísel nebo hodnot dvou nebo více proměnných. Níže uvedené řádky znásobí hodnoty těchto dvou proměnných a vytisknou je na buňku „A1“.

Dílčí test () a = 10 b = 12 Rozsah ("A1"). Hodnota =a*b End Sub

Buňka A1 bude mít hodnotu 120.

(/) Aritmetická divize:Tento operátor se používá k dělení jedné hodnoty od druhé. Níže uvedený řádek dělí hodnotu b proměnnou a a vytiskne ji na buňku „A1“.

Dílčí test () a = 10 b = 12 Rozsah ("A1"). Hodnota =b/a End Sub

Buňka A1 bude mít hodnotu 1,2.

(Mod) Operátor aritmetického zbytku ve VBA: Zatímco většina PL používá pro získání zbytku % (modul), ve VBA používáme klíčové slovo Mod. Tento operátor slouží k získání připomenutí po rozdělení jedné hodnoty od druhé. Níže uvedený řádek dělí hodnotu b proměnnou a a vytiskne hodnotu připomenutí v buňce A1.

Dílčí test () a = 10 b = 4 Rozsah ("A1"). Hodnota =a Mod b End Sub 

Buňka A1 bude mít hodnotu 2.

(^) Aritmetický exponenciální:Tento operátor slouží k převádění exponentu jedné hodnoty na jinou. Níže uvedené řádky nám získají hodnotu 3 pro exponenciální 4.

Dílčí test () a = 3 b = 4 Rozsah ("A1"). Hodnota =a^b End Sub

Buňka A1 bude mít hodnotu 81 (3x3x3x3).

Tito operátoři ve VBA dodržují pravidlo BODMAS. Ve VBA je pouze 6 aritmetických operátorů. Existují operátoři, kteří fungují jako dva typy operátorů, jako je +. Během procházení tohoto tutoriálu se o nich dozvíte.

3. Operátory porovnání

Když chceme porovnat dvě hodnoty ve VBA, použijeme porovnávací operátory. Výsledek operátoru porovnání je vždy logický. Pokud je tvrzení pravdivé, výsledek je PRAVDA. Pokud je tvrzení nepravdivé, pak je hodnota False. Tito operátoři se často používají při rozhodování ve VBA. Podívejme se, jaké jsou:

(=) Rovná se:Ano, znaménko = (rovná se) se také používá jako operátor porovnání ve VBA. Když chceme zkontrolovat, zda jsou obě proměnné stejné nebo ne, použijeme tento operátor porovnání.

Dílčí test () a = 3 b = 4 Pokud a = b, pak 'Vrátí falešný MsgBox "A a b jsou stejné." „To nebude popraveno. Jinak MsgBox "A a b nejsou stejné" End IF End Sub

Ve výše uvedeném příkladu použijeme příkaz If a zkontrolujeme, zda jsou hodnoty a a b stejné. Očividně nejsou. Proto je vytištěno prohlášení Else.

Můžete to zkontrolovat jednoduše pomocí příkazu.

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

Tím se v bezprostředním okně vytiskne False.

(<) Méně než:To se používá ke kontrole, zda je levá hodnota menší než pravá hodnota nebo ne.

Dílčí test () a = 3 b = 4 Pokud a

Ve výše uvedeném příkladu zkontrolujeme, zda je hodnota a menší než b. Protože je to pravda, příkaz if se spustí a jinak ne.

Můžete to zkontrolovat jednoduše pomocí příkazu.

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

Tím se v bezprostředním okně vytiskne True.

(<=) Méně než nebo rovno:To se používá ke kontrole, zda je levá hodnota menší nebo rovna pravé hodnotě nebo ne.

Dílčí test () a = 4 b = 4 Pokud a <= b, pak 'vrátí True MsgBox "A a je menší nebo rovno b." „to bude provedeno. Jinak MsgBox "A se nerovná nebo je menší než b." „To nebude popraveno. Konec IF Konec Sub

Ve výše uvedeném příkladu zkontrolujeme, zda je hodnota a menší než b. Protože je to pravda, příkaz If se spustí a jinak ne.

Můžete to zkontrolovat jednoduše pomocí příkazu.

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

Tím se v bezprostředním okně vytiskne True.

(>) Větší než:To se používá ke kontrole, zda je levá hodnota větší než správná hodnota nebo ne.

Dílčí test () a = 3 b = 4 Pokud a> b pak 'vrátí False MsgBox "A a je větší než b." „Tohle nebude popraveno. Jinak MsgBox "A není větší než b." „To bude provedeno. Konec IF Konec Sub

Ve výše uvedeném příkladu zkontrolujeme, zda je hodnota a větší než b. Protože toto je False, příkaz if nebude spuštěn a Else ano.

Můžete to zkontrolovat jednoduše pomocí příkazu.

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

Tím se v bezprostředním okně vytiskne False.

(> =) Větší než:To se používá ke kontrole, zda je levá hodnota větší nebo rovna pravé hodnotě nebo ne.

Dílčí test () a = 3 b = 4 Pokud a> = b, pak 'vrátí False MsgBox "A a je větší nebo rovno b." „Tohle nebude popraveno. Jinak MsgBox "A není větší než nebo rovno b." „To bude provedeno. Konec IF

Ve výše uvedeném příkladu zkontrolujeme, zda je hodnota a větší nebo rovná b. Protože toto je False, příkaz if nebude spuštěn a Else ano.

Můžete to zkontrolovat jednoduše pomocí příkazu.

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

Tím se v bezprostředním okně vytiskne False.

() Nerovná se:Slouží ke kontrole, zda se levá hodnota nerovná pravé hodnotě.

Dílčí test () a = 3 b = 4 Pokud ab, pak 'vrátí True MsgBox "A a se nerovná b", "Toto bude provedeno. Jinak MsgBox "A a b jsou si rovny." „Tohle nebude popraveno. Konec IF Konec Sub

Ve výše uvedeném příkladu zkontrolujeme, zda je hodnota a nerovná se b. Protože je to pravda, příkaz If bude spuštěn a Else nikoli.

Můžete to zkontrolovat jednoduše pomocí příkazu.

a = 3 b = 4 debug.print ab

Tím se v bezprostředním okně vytiskne True.

Výše uvedeným šesti operátorům se říká srovnávací operátory, protože je používáme k porovnání dvou hodnot nebo proměnných. Ve VBA je budete hodně používat k rozhodování ve VBA.

4. Logičtí operátoři

Logické operátory se používají k provádění logických operací s jednou nebo více proměnnými. Výsledkem takových operací je vždy PRAVDA nebo NEPRAVDA. Logické operátory se často (ne vždy) používají ke kontrole více než jedné podmínky.

Níže jsou logické operátory, které používáme ve VBA:

VBA A operátor (A nebo *): Operátor VBA AND slouží k zajištění toho, aby podmínky na jeho levé a pravé straně byly pravdivé. Pokud je některá z podmínek False, pak celé prohlášení bude mít za následek False. Pro operace AND používáme klíčové slovo And nebo znak * (hvězdička).

Zkontrolujte následující prohlášení:

Dílčí test () a = 10 b = 20 Pokud a <15 Ab <15 Potom MsgBox „aab jsou oba menší než 15“. `` To nebude popraveno. Jinak MsgBox "Buď a nebo b je větší nebo rovno 15." "To bude popraveno." End If End Sub 

Když spustíme výše uvedený úryvek, druhý příkaz if se neprovede. Protože první tvrzení vlevo je pravdivé, ale tvrzení vpravo je Nepravdivé. Proto celé prohlášení vrací False.

Ve většině jazyků se symbol & používá jako operátor AND, ale ne ve VBA. Ve VBA můžete použít operátor násobení * (hvězdička) jako operátor AND, abyste zajistili, že jsou splněny obě podmínky.

Ve výše uvedeném příkladu můžete použít níže uvedený příkaz if, abyste udělali totéž.

Pokud (a <15) * (b <15) Pak

K oddělení podmíněných příkazů musíte použít závorky. V opačném případě se prohlášení budou řídit pravidlem BODMAS a výsledek bude nepřesný.

Q1: Jaký bude výstup z níže uvedeného prohlášení? Dejte mi vědět v sekci komentáře níže:

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

Když je hodnota a 15 a b je 30. Zapište si to do sekce komentářů níže.

Operátor VBA NEBO (nebo +): Operátor NEBO se používá, když chceme zajistit, aby buď levá podmínka byla PRAVDA, nebo správná podmínka byla PRAVDA. Pokud je některá z těchto dvou podmínek pravdivá, bude výsledek pravdivý. Klíčové slovo OR používáme mezi dvěma booleovskými příkazy. Pro operaci NEBO můžete také použít znaménko + (plus). Jen se ujistěte, že používáte závorky správně, aby byla prohlášení jasná při použití znaménka +.

Prohlédněte si níže uvedený kód:

Dílčí test () a = 10 b = 20 Pokud a <15 Nebo b <15 Pak MsgBox „Buď a nebo b je menší než 15.“ "To bude popraveno." Jinak MsgBox "Ani a ani b není menší než 15." `` To nebude popraveno. End If End Sub

Když spustíme výše uvedený kód, zobrazí se první zpráva a druhá zpráva se přeskočí. Protože a je menší než 15 a b není. Aby byl výstup pravdivý, vyžaduje pouze jednu podmínku, aby byl True u operátoru OR.

Prohlášení píšete jako:

Pokud (a <15) + (b <15) Pak

Q2: Jaký bude výstup z níže uvedeného prohlášení? Dejte mi vědět v sekci komentáře níže:

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

Když je hodnota a 10 a b je 5. Zapište si to do sekce komentářů níže.

VBA NOT Operator (Not): Operátor Not se používá k převrácení booleovské hodnoty. Jinými slovy, příkaz s operátorem Not vrací True pouze v případě, že je prohlášení před False. Pokud například použijete klíčové slovo Not před True Statement, bude to mít za následek False a naopak. Ve VBA používáme Ne klíčové slovo pro kontrolu, zda něco není co True nebo False (?).

Dílčí test () a = 10 b = 10 Pokud ne a = b Pak MsgBox "a a b nejsou stejné." Jinak MsgBox „a a b jsou si rovny.“ 'To bude provedeno End If End Sub

Ve výše uvedeném kódu prohlášeníNe a = bvrátí false. Zpočátku a = b je pravda, ale jak jsme použili Ne dříve, výsledek je převrácen a prohlášení se změní na Nepravda. Ve výše uvedeném příkladu jsme použili jediné příkazy před ním. Před operátorem Not můžete mít tolik příkazů, kolik chcete. Stačí je uzavřít do závorek.

Q3: Jaký bude výstup z níže uvedeného prohlášení? Dejte mi vědět v sekci komentáře níže:

debug.print a10 Nebo ne (a = (b/2) * a<>

Když je hodnota a 10 a b je 5. Zapište si to do sekce komentářů níže.

5. Operátoři zřetězení (& nebo +)

Tyto operátory se používají ke zřetězení řetězců. Symbol & se používá ke zřetězení textů. Je doporučeným operátorem zřetězení řetězců. Ke zřetězení však můžete použít také znak +.

Znaménko plus spojuje pouze dvě proměnné, když jsou obě řetězce. Pokud některý z řetězců není řetězec, bude znak + fungovat jako operátor sčítání.

Viz níže uvedený kód:

Dílčí test () a = "Exceltip" b = "je číslo" c = 1 d = 2 Debug.print a & b & c 'toto vytiskne "Exceltip je číslo 1" Debug.print a + b & c & d' toto vytiskne "Exceltip je číslo 12 'Debug.print a + b + c' to bude chyba. End Sub

Ve výše uvedeném kódu budou první dva řádky fungovat naprosto v pořádku. Třetí řádek narazí na chybu, protože se pokoušíme přidat text s čísly. Ke zřetězení čísel vždy používáme & (amp).

Multifunkční operátoři ve VBA

Prostřednictvím výše uvedených příkladů jste se museli dozvědět, že existuje mnoho operátorů, kteří v různých situacích pracují odlišně.

Znak + funguje jako operátor sčítání při práci s čísly. Při práci s booleovskými hodnotami funguje znaménko plus jako operátor Or ve VBA. Při použití s ​​řetězcovými hodnotami funguje operátor plus jako operátor zřetězení. Následující řádky jsou platné:

Debug.Print 10 + 20 'tiskne 30. + funguje jako operátor sčítání. Debug.Print (1020) 'prints True. + pracuje jako operátor Or. Debug.Print "10" + "20" 'Vytiskne 1020. Znak + funguje jako operátor zřetězení. 

Pokud jsou operandy číselné, znak hvězdičky (*) funguje jako operátor násobení. Když jsou operandy booleovské, hvězdička funguje jako And Operator.

Níže uvedené řádky kódu fungují naprosto v pořádku.

Debug.Print 10 * 20 'tiskne 200. * funguje jako operátor násobení. Debug.Print (1020) 'tiskne False. Znak + funguje jako operátor And. 

Takže jo, lidi, tohle všechno o operátorech ve VBA. Doufám, že to bylo užitečné. Pokud máte nějaké pochybnosti ohledně operátorů ve VBA, zeptejte se v sekci komentáře níže.

Příkaz If ElseIf ve VBA | V příkazu If ElseIf je další podmínka zaškrtnuta pouze tehdy, když předchozí podmínka padá. Když je splněna podmínka, spustí se kód v tomto bloku a ovládací prvek opustí blok If.

Proměnný rozsah aplikace Excel VBA | VBA má také specifikátory rozsahu. Tyto specifikátory rozsahu lze použít k nastavení viditelnosti/rozsahu proměnné v aplikaci Excel VBA.

VBA Select Case Statement | Příkazy Select Case jsou užitečné, když máte příliš mnoho podmínek ke kontrole. Jsou výbornou náhradou více příkazů If ElseIf.

Použití smyčky ve VBA v aplikaci Microsoft Excel | Smyčky ve VBA nám umožňují provádět podobný úkol znovu a znovu bez opakování kódu. V aplikaci Excel VBA existují 3 typy smyček.

Argumenty ByRef a ByVal | Když je argument předán jako argument ByRef jinému sub nebo funkci, je odeslán odkaz na skutečnou proměnnou. Jakékoli změny provedené v kopii proměnné se projeví v původním argumentu.

Zobrazit zprávu na stavovém řádku aplikace Excel VBA Stavový řádek v aplikaci Excel lze použít jako monitor kódu. Když je váš kód VBA dlouhý a provádíte několik úkolů pomocí VBA, často deaktivujete aktualizaci obrazovky, abyste neviděli, že obrazovka bliká

Vypnout výstražné zprávy pomocí VBA v aplikaci Microsoft Excel 2016 | Tento kód nejenže zakáže výstrahy VBA, ale také zvyšuje časovou efektivitu kódu. Uvidíme jak.

Oblíbené články:

50 zkratek aplikace Excel pro zvýšení produktivity | Získejte rychleji svůj úkol. Těchto 50 klávesových zkratek vám umožní pracovat v Excelu ještě rychleji.

Funkce VLOOKUP v Excelu | Toto je jedna z nejpoužívanějších a nejoblíbenějších funkcí Excelu, která slouží k vyhledávání hodnot z různých rozsahů a listů.

COUNTIF v aplikaci Excel 2016 | Pomocí této úžasné funkce spočítejte hodnoty s podmínkami. K počítání konkrétní hodnoty není nutné filtrovat data. Funkce Countif je nezbytná pro přípravu řídicího panelu.

Jak používat funkci SUMIF v aplikaci Excel | Toto je další základní funkce řídicího panelu. To vám pomůže shrnout hodnoty za konkrétních podmínek.