Funkce IF je jednou z nejvýkonnějších a nejuniverzálnějších funkcí v programovacím jazyce VBA (Visual Basic for Applications), který se v Excelu používá k vytváření maker a automatizaci datových operací. Umožňuje provádět podmíněné operace a rozhodovat se podle hodnot proměnných a výsledků výrazů.
Syntaxe funkce "pokud" je následující:
Pokud podmínka Tehdy
blok kódu
Jinak
blok kódu
Konec Pokud
V bloku kódu po klíčovém slovu " pak " jsou zadané operace provedeny, pokud je podmínka pravdivá. V bloku kódu se za "jinak" provede alternativní sada operací, pokud je podmínka nepravdivá. "Pokud" lze použít k implementaci různých scénářů, včetně správy toku programu, filtrování dat nebo výpočtu hodnot v závislosti na podmínkách.
V tomto článku se podíváme na několik příkladů použití funkce IF v aplikaci VBA Excel a vysvětlíme jejich syntaxi a logiku práce.
Příklady použití funkce IF VBA Excel
Funkce "pokud" v programovacím jazyce VBA Excel umožňuje určité kroky podle toho, zda je splněna určitá podmínka nebo ne. Má následující syntaxi:
| Funkce | Popis |
|---|---|
| Pokud (Podmínka, Čin_esli_istina, Čin_sli_nahráno) | Provede uvedenou akci, pokud je podmínka pravdivá, a jinou akci, pokud je podmínka nepravdivá. |
Níže jsou uvedeny některé příklady použití funkce IF v aplikaci VBA Excel:
-
Příklad 1: Kontrola parity čísla
Sub CheckEvenNumber()Dim number As Integernumber = 10If number Mod 2 = 0 ThenMsgBox "Число является четным."ElseMsgBox "Число не является четным."End IfEnd Sub
Sub CalculateBonus()Dim sales As DoubleDim bonus As Doublesales = InputBox("Введите сумму продаж:")If sales >= 10000 Thenbonus = sales * 0.1Elsebonus = sales * 0.05End IfMsgBox "Ваш бонус составляет: " & bonus & " руб."End Sub
Sub CheckAchievementStatus()Dim achievement As IntegerDim status As Stringachievement = InputBox("Введите количество достижений:")If achievement >= 100 Thenstatus = "Статус: Мастер"ElseIf achievement >= 50 Thenstatus = "Статус: Профессионал"ElseIf achievement >= 10 Thenstatus = "Статус: Начинающий"Elsestatus = "Статус: Новичок"End IfMsgBox statusEnd Sub
Funkce IF v aplikaci VBA Excel vám umožňuje spravovat provádění programu v závislosti na různých podmínkách. Je užitečným nástrojem pro vytváření flexibilních a výkonných Maker a automatizaci akcí v Excelu.
Příklad 1: jednoduchý příklad použití funkce"pokud"
Představme si, že máme seznam studentů s jejich známkami a chceme označit studenty, kteří mají známku pod danou hranicí.
K tomu můžeme použít funkci "pokud". Zde je návod, jak to udělat:
- Otevřete Editor VBA kliknutím na "Alt + F11".
- Vyberte list, na kterém je váš seznam studentů.
- Napište následující kód:
Sub ПометитьСтудентов()Dim ячейка As RangeFor Each ячейка In Selection 'перебираем все ячейки в выделенном диапазонеIf ячейка.Value < 4 Then 'если значение ячейки меньше 4ячейка.Font.Bold = True 'делаем шрифт жирнымEnd IfNext ячейкаEnd Sub
4. Klepnutím na" F5 "nebo výběrem" Spustit "- > "Spustit podprogram" spustíte kód.
Za podmínky "Pokud" kontrolujeme každou buňku ve vyhrazeném rozsahu. Pokud je hodnota buňky menší než 4, pak děláme písmo tučné, abychom takové studenty označili.
Nejjednodušší příklad použití funkce "pokud" v aplikaci VBA Excel vám tedy umožňuje zkontrolovat podmínky a provádět příslušné akce na základě výsledků kontroly.
Příklad 2: Použití funkce "pokud" s více podmínkami
V VBA Excel lze použít funkci "pokud" k vytvoření podmíněných výrazů s více podmínkami. Tento výraz umožňuje provést jednu akci, pokud jsou všechny podmínky pravdy, a druhou akci, pokud je alespoň jedna z podmínek nepravdivá.
Řekněme, že máme tabulku s údaji o studentech a jejich známkami z různých předmětů. Naším úkolem je vypočítat konečné skóre pro každého studenta na základě tří kritérií:
- Hodnocení z matematiky by nemělo být nižší než 4;
- Hodnocení angličtiny by nemělo být nižší než 3;
- Fyzický odhad by neměl být nižší než 3.
K tomu můžeme použít funkci "pokud" s několika podmínkami:
Sub CalculateFinalGrade()Dim i As IntegerDim mathGrade As IntegerDim englishGrade As IntegerDim physicsGrade As IntegerFor i = 2 To 10 ' Предполагаем, что данные находятся в диапазоне A2:C10mathGrade = Range("A" & i).ValueenglishGrade = Range("B" & i).ValuephysicsGrade = Range("C" & i).ValueIf mathGrade >= 4 And englishGrade >= 3 And physicsGrade >= 3 ThenRange("D" & i).Value = "Отлично"ElseRange("D" & i).Value = "Неудовлетворительно"End IfNext iEnd Sub
V tomto příkladu jsme vytvořili podprogram "CalculateFinalGrade", který vypočítá výslednou známku pro každého studenta a zapíše ji do sloupce D.k přerušení každého studenta v tabulce používáme cyklus" For". Poté odečteme hodnocení jednotlivých položek a zkontrolujeme, zda splňují požadavky. Pokud jsou všechny podmínky pravdy, zapíšeme do sloupce D hodnotu "vynikající", jinak zaznamenáme"neuspokojivé".
Pomocí funkce "pokud" s více podmínkami můžeme snadno vytvářet složitější podmíněné výrazy, které nám pomohou automatizovat různé úkoly pomocí aplikace VBA Excel.
Příklad 3: Použití funkce "pokud" pro práci s textem
Sub ПроверкаТекста()Dim значение As Stringзначение = Range("A1").ValueIf значение = "Делегат" ThenMsgBox "Строка содержит слово 'Делегат'"ElseMsgBox "Строка не содержит слово 'Делегат'"End IfEnd Sub
V tomto příkladu nejprve zapíšeme hodnotu buňky A1 do proměnné "hodnota". Poté použijeme podmíněný příkaz " Pokud "ke kontrole, zda se tato proměnná rovná řádku"delegát". Pokud se hodnota shoduje, zobrazí se Zpráva "řetězec obsahuje slovo 'delegát'". V opačném případě zobrazíme zprávu "řetězec neobsahuje slovo 'delegát'".
Je důležité poznamenat, že na řádku podmíněného operátora "pokud" používáme srovnávací operátor"=", který kontroluje, zda jsou hodnoty dvou operandů stejné. Pokud chceme zkontrolovat, zda se proměnná na řádku delegát rovná, můžeme použít příkaz<>. Například:
If значение <> "Делегат" ThenMsgBox "Строка не содержит слово 'Делегат'"End If
To byl příklad použití funkce "pokud" pro práci s textem. Může být také použit k ověření dalších podmínek, jako je délka řádku, přítomnost určitých znaků atd. V následujících článcích se podíváme na další příklady použití této funkce.