Operátoři VBA: Jednoduchá volba. Metodické příkazy a úkoly Příkaz Vba Smart If

Wash є při programování ještě křivější, úlomky nám umožňují vyhrát dії ladem podle stanovených kritérií (vyhrává se stejný princip LI funkce Excelu).

Nejdůležitější funkce, jak se ptáte mysli LI A hned se divíme, jak to funguje:

If [SMART HERE] Then "=> YAKSHO umova vіrna, TODI "Pokyny, jako "pravda" Jinak "=> PROTI PÁDU "Pokyny, jako "nesmysl" End If

Přejděme ke cvičení a otočme se k zadku, který mě napodoboval v době změny. Metafora procedury byla v tom, že otevřela dialogové okno, jako by to byla hodnota řádku označeného uprostřed F5:

Jak zadáte písmeno v místnosti F5, tse udělit milost. Chceme někoho zachránit.

Dílčí proměnné () "Deklarování změny Dim last_name As String, first_name As String, age As Integer, row_number As Integer "Přiřazení změny ke změně row_number = Range("F5") + 1 last_name = Cells(row_number, 1) fir , 2) věk = Cells(row_number, 3) "Dialogové okno MsgBox last_name & " " & first_name & "," & age & " years" End Sub

Pojďme dodamo mind, yaku reverify - chi є zadejte hodnotu doprostřed F5číslo, před ním, protože kód bude vikonano.

Funkci zrychlíme IsNumeric pro reverb mysl:

Dílčí proměnné () "Jaká je hodnota v obloucích (komiks F5) є je číselná (I TOTO JE ČÍSLO, POKUD Є BRIM) pak "potom If IsNumeric (Rozsah ("F5")) Then "Deklarování změny Dim last_ , first_name As Řetězec, věk Jako celé číslo, číslo_řádku As Integer "Přiřazená hodnota ke změně číslo_řádku = Rozsah("F5") + 1 příjmení = Buňky (číslo_řádku, 1) jméno = Buňky (číslo_řádku, 2) stáří = Buňky (řádek "dialogové okno MsgBox příjmení & " " & jméno & "," & věk & " věk" End If End Sub

Je také nutné, abychom si zapsali pokyny, jako by mysl nebyla nastavena:

Dílčí proměnné () If IsNumeric (Range ("F5")) Then "Deklarování změny Dim last_name As String, First_name As String, Age As Integer, row_number As Integer "Přiřazení hodnoty ke změně row_number = Rozsah + 1 last_name = Cells (row_number, 1) first_name = Buňky (číslo_řádku, 2) věk = Buňky (číslo_řádku, 3) "Dialogové pole zprávy příjmení & " " & jméno & "," & věk & " ro_v" Else "Takže nevidíte "Dialogové okno: Předcházející MsgBox "Zadaná hodnota a rozsah ("F5") & "Nelze ověřit!" "Vymazat obsah End If End Sub

Nyní nečíselné významy nezpůsobují každodenní problémy.

Pratsyyuyuchi s naším polem, které pomstí 16 řádků dat, náš další krok bude v reverb chi є změna row_number: "více nižší nebo více 2" a "méně nižší nebo více 17".

Pojďme se rychle podívat na operátory povnyannya:

a tsі korisnі operátory:

Nyní pojďme dodamo jednu z nejlepších myslí A mezi operátory

Dílčí proměnné () If IsNumeric (Range ("F5")) Then "Dim last_name As String, first_name As String, age As Integer, row_number As Integer row_number = Range("F5") + 1 If row_number > = 2 And row_number

Pokud chceme, aby naše makro bylo praktičtější, můžeme nahradit 17 pro změnu jačí misla b kіlkіst rowkіv. Tse by nám umožnilo přidávat a odebírat řádky z pole bez nutnosti měnit limit vzhledu.

Abychom mohli něco změnit, můžeme vytvořit změnu nb_rows a přidat tuto funkci.

Mám vítěznou funkci WorksheetFunction.CountA, jako analog funkce COUNTA v samotném Excelu.

Chceme, aby to byla funkce, která zaznamenává řadu neprázdných středů v prvním sloupci zapsáním hodnoty změny nb_rows:

Dílčí proměnné () If IsNumeric (Range("F5")) Then "YAKI NUMBER Dim last_name As String, first_name As String, age As Integer, row_number As Integer Dim nb_rows As Integer row_number = Range("F5") = 1 WorksheetFunction. CountA (Rozsah ("A:A")) "Funkce počítání počtu řádků, pokud je číslo_řádku > = 2 a číslo_řádku

ElseIf

ElseIf vám dává možnost přidat další možnosti a poté příkazy IF:

Pokud [CLEAN 1] Pak "=> YAKSCHO Umova 1 je pravdivý, TODI "Instrukce 1 ElseIf [CLEAN 2] Pak "=> YAKSCHO Umova 1 je chybný, Ale Umova 2 je správný, TODI "Instruction 2 Else" => Else " Pokyny Pokud

Yakscho UMOVI 1 vykonuetsya, Pokyn 1 bude vikonano ta zbavit operátora LI(od kterého začíná LI končí End If). Yakscho UMOVI 2 získat smysl" hovadina “, pak budeš vikonana Pokyn 2 a jako by obracela svého ďábla“ hovadina ", pak Pokyn 3(pіd Jiný) bude vikonano.

Sub score_comment() "Změnit zatmavenou notu jako celé číslo, score_comment jako řetězec nota = rozsah("A1") ElseIf note = 5 Then score_comment = "Garniy skóre" ElseIf note = 4 Then score_comment = "Uspokojivé skóre" ElseIf note = 3 Then score_comment = "Neúspěšné skóre" ElseIf poznámka = 2 Then score_comment = "Špatné skóre" = "Špatné skóre" Jinak score_comment = "Nulové skóre" End If "Komentář ve středním rozsahu B1("B1") = score_comment End Sub

Vybrat

Іsnuє alternativní vikoristany Li s bagatma ElseIf instrukce, ale samotný příkaz Vybrat, jak k takovým situacím více přistupovat.

Podívejme se na zadeček makra s operátorem Vybrat:

Sub score_comment() "Change Dim note As Integer , score_comment As String note = Range("A1") "Komentáře založené na skóre Select Case note"

Varto naznačuje, že bychom mohli vyhrát i s jinými provozovateli zápasů:

Případ je >= 6

Použít s různými významy:

Případ je = 6, 7 "jaká hodnota = 6 nebo 7 Případ je 6, 7" jaká hodnota není dobrá 6 nebo 7 Případ 6 až 10

The Funkce IF ve VBA je jedním z nejpoužívanějších příkazů. Funkce IF kontroluje, zda je zadaná podmínka splněna nebo ne. Funkce IF ve VBA funguje trochu jinak než v Excelu. V Excelu nabývají funkce IF dvě hodnoty: Hodnota obrácení, kterou lze vyhodnotit jako PRAVDA nebo NEPRAVDA, a bude aktualizována tak, aby byla založena např. na IF( condition, return_value_if_condition_true, return_value_if_condition_false). Funkce IF ve VBA je však pouze první částí, tzn. zkontrolujte, zda je podmínka vyhodnocena jako TRUE nebo FALSE. Stiskněte na libovolném scénáři, jak je určeno pro pomoc jiného příkazu THEN.

Použití jednoduché funkce IF ve VBA

Zde je příklad Funkce IF. Tento bod v kódu VBA jednoduše kontroluje, zda se zadaná podmínka (tj. 1 > 4) vyhodnotí jako PRAVDA nebo NEPRAVDA. V každém případě, pokud existuje jen několik instalací, háčkování se rozpadne na PRAVDU, když o tom přemýšlíte. V každém případě se výsledek zobrazí na obrazovce. Protože funkce byla převedena na FALSE, kód VBA nic neudělá.

1
2
3
4
5

Dílčí IF_FUNCTION()
Pokud 7 > 1 Pak
MsgBox "7 je větší než 1"
Konec, pokud
konec sub

The PAK příkaz je v podstatě direktiva indikující, že kroky bezprostředně následující po něm mají být provedeny, pokud je podmínka těsně před if vyhodnocena jako TRUE.

Výchozí funkce IF END IF deklarace, která aplikaci dává vědět, že se jedná o poslední řádek funkce IF. Níže je uvedena o něco kratší forma funkce IF. Všimněte si, že příkaz END IF byl v tomto odstraněn, a proto byly tři řádky kódu sloučeny do jednoho.

Dílčí IF_FUNCTION_SHORT()
Pokud 7 > 1, pak MsgBox "7 je větší než 1"
konec sub

Tento formulář by se však měl používat pouze v případě, že neexistují žádné JINÝ nebo JINAK KDYŽ jsou potřeba prohlášení. Podívejme se, jaké to jsou a jak pomáhají zlepšit funkci IF.

Funkce Vicorist IF s ELSE ve VBA

V případě, kdy je to možné, jsme si vědomi, že funkce KDYŽ je vinna tím, že je vytvořena až do konce pražce, pouze pokud je mysl vyhodnocena jako PRAVDA. Ale přesto myslíš na ty, které ty malé budou stvořeny z toho, že ať je to tak, potkáš tě. Jeden způsob, jak získat funkci IF vyhrát pro příkaz ELSE. Jednoduše řečeno, příkaz ELSE způsobí, že aplikace provede kroky uvedené v bloku ELSE, když se podmínka specifikovaná v klauzuli IF vyhodnotí jako FALSE.

V kódu VBA níže, ve funkcích IF vyhodnocených jako nepravda, jsou provedeny styly uvedené v bloku ELSE s výsledkem, že se na obrazovce zobrazí zpráva „1 je menší než 4“. Do bloku lze přidat více kroků, takže všechny budou provedeny jeden po druhém.

1
2
3
4
5
6
7

Dílčí IF_ELSEIF_FUNCTION()
Pokud 1 > 4 Pak

jiný:
MsgBox "1 je menší než 4"
Konec, pokud
konec sub

Pro další funkce IF s ELSEIF a ELSE: ve VBA

Příkaz ELSE může být podporován pro příkazy ELSEIF. Zápach je typický pro překontrolování konkrétních myslí, a protože všechny jsou hodnoceny jako PLNÉ, důkazy jsou označeny V JINÉ části mysli, budou zde zbytkové akceptace. Příkaz IF zkontroluje danou podmínku. Ukázalo se, že je FALSE, bude zkontrolována podmínka uvedená v prvním příkazu ELSEIF. Stejně jako smrad vzít osud toho, o čem si myslíte, že bude jmenován v jiné části ELSEIF, a nejen to. Vše je nastaveno v klauzulích IF a ELSEIF na FALSE, jen trochu zmíněno pod posledním blokem ELSE: bude proveden. Pro zopakování, protože smrad je více příkazů ELSEIF, pak ty první, které se vyhodnotí jako PRAVDA, budou odmítnuty a jakmile nebudou chybět, prováděcí kód se zhroutí na příkaz END IF. Ať už se jedná o největší mozky ELSEIF, které jsou vyhodnoceny jako TRUE, budou provedeny pouze ty první, které jsou vyhodnoceny jako TRUE.

1
2
3
4
5
6
7
8
9
10
11


Li< > pak
MsgBox "1 je větší než 4"
ElseIf< > pak

ElseIf< > pak

Jiný< >:

Konec, pokud
konec sub

Text je uveden níže, nejprve je zaškrtnuto IF. Protože se vyhodnotí jako FALSE, vyhodnotí se první podmínka ELSEIF, následovaná druhou. Bez jednoho z nich byly vyhodnoceny jako PRAVDA, Kroky uvedené v ELSE: umova є provedeny.

1
2
3
4
5
6
7
8
9
10
11

Dílčí IF_ELSEIF_ELSE_FUNCTION()
Pokud 1 > 4 Pak
MsgBox "1 je větší než 4"
ElseIf 2 > 4 Pak
MsgBox "2 je větší než 4"
ElseIf 3 > 4 Pak
MsgBox "3 je větší než 4"
jiný:
MsgBox "1, 2 nebo 3 - méně než 4"
Konec, pokud
konec sub

Rychlý tip – Jak rozšířit příkazy IF fungují rychleji

Snížení na bočním kódu vypadá podobně. Dvě mysli ELSEIF v jiné funkci mohou být svrženy. Který z nich v kódu VBA se podle vás provádí rychleji?:
Konec, pokud
Příště já
Časovač MsgBox - t
konec sub

odpověď je, že druhý se provádí mnohem rychleji než první. Proč? Ten, který potřebuje dvě sekundy k zastavení v pohybu přes nerovné řádky v kódu před ním, tak jak je, je vyhodnocen jako PRAVDA. Respektujte, že ELSEIF je první, že se vykoná TRUE a žádná z ostatních podmínek se nevyhodnocuje, i když by se také měly vyhodnotit jako TRUE. Na první pozici kódu VBA se funkce ELSEIF on-line 6 vyhodnotí jako PRAVDA, zatímco na druhé, řádek 5 splňuje kritéria. Ten s více, nižší inteligencí, je hodnocen jako PRAVDA, dříve by měl být umístěn v kódu VBA, vše ostatní je stejné.

Jednořádková ta víceřádková konstrukce operátoru If...Then...Else a funkce IIf, které jsou běžné v kódu Excel VBA - syntaxe, komponenty, aplikace.

If...Then...Else Prohlášení

Operátor Jestliže pak jinak přiřazení předání řízení jednomu z operátorských bloků závisí na výsledcích obratu.

Jednořadá konstrukce

Operátor Jestliže pak jinak může vyhrát v jednořadém provedení bez klíčových slov Jiný, Konec, pokud.

Syntaxe jednořádkové konstrukce If...Then...

Li[umova] Pak[operátor]

Jednořadé stavební prvky Pokud...tak...

  • umova Skutečný nebo Nepravdivé;
  • operátory umova otočit hodnotu Skutečný;

Jako součástka umova otočit hodnotu Nepravdivé, blok prohlášení v konstrukci Pokud...tak...

zadek 1

Dílčí primer1() Dim d As Integer, a As String d = InputBox("Zadejte číslo od 1 do 20", "Instance 1", 1) Pokud d > 10 Pak a = "Číslo " & d & " je větší než 10 "MsgBox a End Sub

Stavba Bagatoryadna

Syntaxe sekvenčního konstruktu If...Then...Else

Li[umova] Pak[operátor] ElseIf[umova] Pak[operátor] ----------------- Jiný[operátor] Konec, pokud

Komponenty stavby bagatorií Jestliže pak jinak:

  • umova- číselný nebo řádkový výraz za klíčovým slovem Li nebo ElseIf ten obratový logický význam Skutečný nebo Nepravdivé;
  • operátory- blok příkazů v kódu VBA Excel, který se používá jako komponenta umova otočit hodnotu Skutečný.
  • tečkovaná čára označte další konstrukční bloky řady ElseIf [umova] Pakže řádky [operátor];
  • příkazový blok za klíčovým slovem Jiný vykonuetsya v jakémkoli druhu vipadka, ale strukturální blok na nabíjecí kód Jinýže řádky [operátor] není obov'azkovim a může dojít k opomenutí.

Jako součástka umova otočit hodnotu Nepravdivé, následovaný blokem operátorů ve stavbě Jestliže pak jinakže ovládání programu je přeskočeno a přeneseno na další řádek kódu.

Nejjednodušší varianta provedení bagatory-řada Jestliže pak jinak:

Li[umova] Pak[operátor] Jiný[operátor] Konec, pokud

zadek 2

Dílčí primer2() Dim d Jako celé číslo, a Jako řetězec d = InputBox("Zadejte číslo od 1 do 40", "Instance 2", 1) Pokud d< 11 Then a = "Число " & d & " входит в первую десятку" ElseIf d >10 a d< 21 Then a = "Число " & d & " входит во вторую десятку" ElseIf d >20 a d< 31 Then a = "Число " & d & " входит в третью десятку" Else a = "Число " & d & " входит в четвертую десятку" End If MsgBox a End Sub

Funkce IIf

Funkce Li překontrolování dané mysli a otočení hodnoty znovu a znovu podle výsledku překontrolování.

Syntaxe funkce

Li([umova], [což je pravda], [což je nepravda])

Komponenty funkce IIf

  • umova- číselný nebo řádkový výraz, který mění logické hodnoty Skutečný nebo Nepravdivé;
  • Přesně pravda Li, jako umova otočil hodnotu Skutečný;
  • Nepravdivé- hodnota, jak funkci otočit Li, jako umova otočil hodnotu Nepravdivé.

zadek 3

Dílčí primer3() Dim d Jako celé číslo, a Jako řetězec d = InputBox("Zadejte číslo od 1 do 20", "Instance 3", 1) a = IIf(d< 10, d & " - число однозначное", _ d & " - число двузначное") MsgBox a End Sub

Při stisknutí tlačítka „Storno“ nebo zavření dialogového okna vstupního pole křížkem se vygeneruje omluva, takže prázdný řádek se v těchto krocích otočí. Přiřazení prázdného řádku změny typu D Integer vyžaduje prominutí. Po stisku tlačítka "OK" dialogového okna, číslo zadané do vstupního pole v textovém formátu, VBA Excel automaticky převede do číselného formátu změny d.

Operátoři Basic Move VBA

Komentáře (0)

3.1. Pravidla pro operátory nahrávání

Při nahrávání operátorů dodržujte následující pravidla:

Vzhled nového operátora je zaznamenán z nového řádku.

Chcete-li napsat skupinu operátorů na jeden řádek, jsou mezi sebou rozděleny dvojitým (:).

Pokud se operátor nepohybuje v jedné řadě, je nutné na konec řady umístit znak mezery (_) a pokračovat v části, která se nevešla na další řadu.

3.2. Operátor pozvánky

Operátor je přitahován k vítězství, jako by se změnil, je nutné dát novou hodnotu. Win může urážet syntaxi:

IM'YA_ZMINNOY= VIRAZ

Zároveň se v pravé části počítá skóre a následně se očekává změna výsledku, který bude stát v levé části.

Například. Zapište si pro pomoc operátora, abyste přilákali nástup matematického viru:

Na VBA lze celou virázu zaznamenat za přítomnosti útočného operátora:

Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))

3 .3. Zadání operátorů

3 .3.1. Operátor a funkce MsgBox

Operátor MsgBox Nastavte zobrazování informací do dialogového okna a nastavte režim stisku tlačítka krátkým tlačítkem.

Win může urážet syntaxi:

MsgBox Oznámení[,Tlačítka][, Název]

Argumenty:

Rada - obov'yazykovyy argument, scho se ptá na vіknі іnformatsiyne voіdomlennya. Lze vytvořit z několika textových řádků spojených znaménkem & . Citace z čí argumentace Chr(13) aby před přechodem na nový řádek pіd hodina zobrazení informací.

Tlačítka - hodnota tohoto argumentu určuje kategorii tlačítek, která se objeví v okně. Hodnota argumentu tlačítka vkladu je stejná jako hodnota ikony. Pokud není zadáno, pokud je potřeba zobrazit tlačítka v okně probuzení, je vybrána hodnota pro propagaci, pokud je zobrazeno tlačítko OK. U stolu 3.1 možné kombinace tlačítek a ikon v oznamovacím okně.

záhlaví - Nastavte titulek okna.

Funkce MsgBox Otočením hodnoty zadejte Integer, abyste označili, jak bylo v dialogovém okně stisknuto tlačítko.

Tabulka 3.1. Platné hodnoty tlačítka změnit

Kvašení

Argument

tlačítko OK

Tlačítka OK a Skasuvannya

Tlačítka Ano a Ne

Tlačítka Tak, Nі ta Skasuvannya

Tlačítka Připnout, Opakovat a Ignorovat

VbAbortRetryIgnore

Tlačítka Opakovat a Skasuwati.

Informační znamení

jídlo znamení

krupobití znamení

Například. Prosím o informaci o aktuálním termínu.

MsgBox „Dnes v kalendáři“ a Datum, „Uvaga“

V důsledku toho se zobrazí další krok (obr. 3.1).

Po stisknutí tlačítka OK se výzva zavře a program se probudí od operátora, který by měl být bezprostředně za hovorem MsgBox.

3.3.2. Funkce InputBox

Funkce InputBox zdіysnyuє vіdnjuє vіnnja zmіnnyh vіnіh vіkna vіkna vіkna ta maє postupující syntaxe:

Im'ya_Zminniy = InputBox(Upozornění[, Název] )

Argumenty:

Rada - Obov'yazykovy argument. Zeptejte se na konci informativní poznámky, co říci, abyste vysvětlili hodnotu senzoru, která má být zadána

záhlaví - Nastavte titulek okna.

Například, Zadejte hodnotu změny N z klávesnice a předejte hodnotu do výzvy 10.

Za které můžete zkroutit útočného operátora:

N = InputBox("Zadejte N", "Vstupní data",10)

V důsledku toho se zobrazí další okno pro zadání hodnoty změny N (obr. 3.2).

Pokud je hodnota pro zámek správná, tak po stisku tlačítka OK se vstupní okno zavře, změně N je přiřazena hodnota 10 a po přihlášení programu od operátora, který by měl být hned za hovorem InputBox.

Pokud hodnota pro uzamčení není vhodná pro coristuvachev, pak před kliknutím na tlačítko OK je nutné zadat požadovanou hodnotu změny N.

3 .4. Inteligentní příkaz IF

Pro implementaci procesu dekompozičního výčtu používá VBA operátor Jestliže pak jinak, což je nejjednodušší forma perevіrki myslí. Win může urážet syntaxi:

LiUMOVIPakOPERATOR_1ElseOPERATOR_2

OPERATOR_1 vykonuetsya, jako UMOVI pravda, jinak vítězná OPERATOR_2. V tomto případě je příkaz If…Then…Else zapsán v jednom řádku.

UMOVI- Tse viraz logického typu. Výsledkem virazu může být booleovský typ. Viraz umí odpustit a složit. Při záznamu jednoduchých myslí jsou všechny možné operace v modré barvě, uvedené v tabulce. 3.2.

stůl3 .2. logická modrá

Úkon

název

Viraz

Výsledek

Pravda, což znamená, že A je blíže k B

Pravda, což znamená, že A není totéž jako B

Pravda, stejně jako A, více

Pravda, což je méně

Více chi se rovná

Pravda, což je víceméně jedna

Méně nebo dražší

Pravda, jako A méně nebo lépe

Skládací mysli se skládají z jednoduchých cest zastosuvannya logických operací a kulatých luků. Seznam logických operací je uveden v tabulce. 3.3.

stůl3 .3. Logické operace

název

Viraz

Výsledek

logičtější
zakázáno

Logika I

Logika ABO

U chytrého operátora je přijatelnou náhradou operátorského bloku operátor skin. V tomto okamžiku může chytrý operátor vypadat:

LiUMOVIPak

BLOCK_OPERATOR_1

BLOCK_OPERATOR_2

Konec IF

V mentálním operátorovi může být překroucena spousta myslí. V tomto okamžiku může chytrý operátor vypadat:

LiUMOVI_1Pak

BLOCK_OPERATOR_1

ElseIfUMOVI_2Pak

BLOCK_OPERATOR_2

Jiný

konecLi

zadek 1. Napište část programu pro algoritmus na Obr. 3.3.

zadek 2. Napište část programu pro algoritmus na Obr. 3.4.

3.5. Vyberte Operátor případu

Operátor Select Case ručně vybírá, pokud je ve klamu hodnota stejné hodnoty, pokud je maximální počet povolených hodnot, je nutné vybrat jinou hodnotu. Vіn se také odkazuje na chytré operátory, ale může to být jiný vzhled:

Vyberte případREVIRATED_VIRAZ

případVALUE_1

OPERATORS_1

případHODNOTA_ 2

Operátoři_ 2

. . .

případVALUE_N

Operátoři_N

[ případJiný

v opačném případě_ PROVOZOVATELÉ]

Konec Vyberte

REVIRATED_VIRAZ možná matka, být skalární typ, krim řeč. HODNOTA přidat do určité hodnoty nebo rozsahů, vodní výztuž jedna a jedna hrudky.

Typ HODNOTA vinný zbіgatisya z typu REVIRAZI_VIRAZI.

Počítáno zády k sobě REVIRATED_VIRAZ. Kolik významů odpovídá jednomu z významů VALUE_I, pak vyhrát OPERATORS_I Konec Vyberte. Tato hodnota se nemění se stejnými hodnotami VALUE_I, pak vyhrát Ostatní_operátořiže kontrola se přenese na operátora, co stojí dál Konec Vyberte

Například. Napište část programu pro algoritmus na Obr. 3.5, který určuje hodnotu změny S ladem jako hodnotu změny n.

3.6. operátor smyčky

Pro implementaci procesu cyklického výčtu, tedy jednorázového zadání jednoho nebo několika operátorů, slouží jako operátor cyklu Pro další, což může být následující syntaxe:

ProCHILD=START_VALUETÓEND_VALUEkrokCROC

BLOCK_OPERATOR

BLOCK_OPERATOR

dalšíLICHILNYK

Cyklus For...Next iteruje přes hodnotu změny LICHILNYK, jako parametr cyklu, od klasu po poslední hodnotu z určené změny plodiny. S tím je bezpečné sledovat blok operátorů v těle cyklu s novou kožní hodnotou lichniku. Yakscho krokCROC u návrhu vіdsutnya, pak se musíte postarat o zámek, že práce je drahá 1. Za operátorem Konec pro můžete ukončit příkaz smyčky dříve LICHILNYK dosáhnout zbývající hodnoty.

Chcete-li vytvořit výčet objektů ze skupiny podobných objektů, například uprostřed z rozsahu nebo pole, ručně vyberte operátor smyčky Pro…Každý… Další.

Pro každéhoživelvskupina

BLOK_ OPERÁTOR

BLOCK_OPERATOR

dalšíživel

Ve VBA jsou pro organizování smyček s neznámým počtem opakování přidány další operátory smyček:

cykly s peredumovoy DělatZatímcosmyčka,

DělatAž dosmyčka;

cykly s postem - DělatsmyčkaZatímco,

DělatsmyčkaAž do.

Níže je uvedena syntaxe příkazů cx ve smyčce:

Cyklus z PeredumovoyDělat Zatímco smyčka

Dělat, zatímcoUMOVI

BLOCK_OPERATOR

BLOCK_OPERATOR

Cyklus z PeredumovoyDělat Až do smyčka

DělatAž doUMOVI

BLOCK_OPERATOR

BLOCK_OPERATOR

Cyklus s posmrtnýmDělat smyčka zatímco

BLOK_ OPERÁTOR

BLOCK_OPERATOR

smyčka zatímcoUMOVI

Cyklus s posmrtnýmDělat Opakovat dokud

BLOK_ OPERÁTOR

BLOCK_OPERATOR

Opakovat dokudUMOVI

Operátor DělatWAhoj… Smyčka zajistěte několik opakování operátorského bloku v tečkách, docích UMOVI dorimuetsya a operátor



Další novinky

3.5.1 Operátoři chytrého a bláznivého přechodu. Operátor Li…Pak... Jinak

Ohýbání mysli VBA, operátor If...Then... Else, If konstrukt vnoření

Operátor inteligentního přechodu- jeden z nejdůležitějších a nejběžnějších prvků pohyblivého programování. Základní princip jejich práce je jednoduchý: přehodnocuje se, že je věrná mysli (pravda je, že je to chibnista jakéhokoli jazyka) a že omyl jakéhokoli druhu programu vikonnannya je narovnán z jedné i druhé strany. VBA má dva operátory chytrého skoku: If… Then… Else a Select Case.

Operátor Pokud…tak... Else je mezi programátory nejoblíbenější. Nová syntaxe vypadá takto:

Pokud Umova Pak
Příkaz1

S kým:

  • Umov- Viraz, který je přeměněn na pravdu. Pokud je to pravda, pak je zasvěcen Příkaz1, pokud je to zlovolné - Příkaz2;
  • UmoviN- dodatkovі mysl, yakі lze uctívat. Pokud mává smrad (viraz UmoviN je pravda), pak mávají KomandiN.

Příkaz If...Then... Else selže:

  • pokud je třeba přehodnotit platnost jedné mysli a zároveň v případě odlišné inteligence je to jako diyu:

Pokud nTeplota< 10 Then

MsgBox "Oblečte si bundu"

  • je-li nutné okrást ty, kteří jsou před zadkem, a v době nedůslednosti, vikonaty іnsu dіyu:

Pokud nTeplota< 10 Then

MsgBox "Oblečte si bundu"

MsgBox "Oblečte si větrovku"

  • pokud je nutné vrátit se k platnosti desetiletých myslí (respekt k volbě logických operátorů):

If(nTeplota< 10) And (bRain = True) Then

MsgBox "Obleč si bundu a vezmi si slunečník"

  • stejně jako se první reverb změnil na Falešný, je nutné jej znovu ověřit pro více démonických myslí (v takovém případě je snadné ElseIf zvrátit):

If (bIGoInCar = True) Pak

MsgBox "Šaty do auta"

ElseIf nTeplota< 10 Then

MsgBox "Oblečte si bundu"

MsgBox "Můžete jít do košile"

Pro tuto aplikaci se úlomky bIGoInCar změní na typ Boolean a samy přijímají hodnoty True nebo False, první řádek může vypadat takto:

Pokud BIGoInCar Pak…

Deyakі respektuje shkodo vykoristannya If…tak… Else:

  • klíčové slovo Then může být ve stejném řádku jako If that mind. Pokud převedete jógu do další řady, zobrazí se vám připomenutí o prominutí;
  • Pokud chcete příkaz rozšířit, pokud je nutné vicoon, pokud je to pravda, přemýšlejte o tom, co se opravuje, na stejném řádku s If a Then, pak nemůžete napsat End If:

Pokud nTeplota< 10 Then MsgBox "Одеть куртку"

  • No, pokud vyhrajete hromadu příkazů nebo konstruktů Else / ElseIf, pak End If, například, je nutné napsat obov'yazkovo - jinak je zde syntaktický pardon.
  • pro výraz If…Then se doporučuje vybrat kroky k zobrazení příkazových bloků. V opačném případě bude důležité přečíst kód.
  • Pokud... Potom lze příkazy vnořit jeden do jednoho:

Pokud MyVar = 5 Pak

MsgBox "MyVar=5"

Pokud MyVar = 10 Pak

MsgBox "MyVar=10"

Tablety