Obsah
V tomto článku vám ukážu, jak můžete použít Příkaz If na adrese VBA v aplikaci Excel na základě hodnoty buňky.
Excel VBA: Příkaz If na základě hodnoty buňky (Rychlé zobrazení)
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
Stáhnout cvičebnici
Stáhněte si tento cvičební sešit a procvičujte si při čtení tohoto článku.
Příkaz If na základě hodnoty buňky.xlsmPříkaz If založený na hodnotě buňky v aplikaci Excel VBA
Zde máme pracovní list, který obsahuje. jména a značky některých studentů školy při zkoušce.
Naším cílem je naučit se používat Příkaz If v aplikaci Excel VBA na základě hodnoty buňky z tohoto souboru dat.
1. Příkaz If založený na hodnotě jedné buňky v aplikaci Excel VBA
Nejprve se naučíme používat příkaz If založený na hodnotě jedné buňky.
Zkusme například zjistit, zda Natalia Austinová u zkoušky uspěla, nebo ne, tedy zda známka v buňce C3 je větší než 40 nebo ne.
Sloupec D obsahuje výsledek studentů. To znamená, že pokud buňka C3 obsahuje známku vyšší než 40, buňka D3 bude obsahovat "Prošlo" . Jinak bude obsahovat "Neúspěšný" .
Použijeme VBA Rozsah vytvořit tento objekt Příkaz If na základě hodnoty buňky.
Na stránkách VBA kód pro tento účel bude:
⧭ Kód VBA:
Sub If_Statement_Based_On_a_Single_Cell() If Range("C3").Value>= 40 Then Range("D3").Value = "Passed" Else Range("D3").Value = "Failed" End If End Sub
⧭ Výstup:
Spusťte kód z Run Sub / UserForm v nástroji VBA panel nástrojů.
Způsobí to, že buňky D3 obsahují "Neúspěšný" , jako značka v buňce C3 je menší než 40 ( 32 ).
2. Příkaz If založený na hodnotách rozsahu buněk v aplikaci Excel VBA
Můžete také použít Příkaz If na základě hodnot rozsahu buněk v položce VBA . Můžete použít smyčka for pro tento účel.
Například zde můžeme zjistit výsledek všech studentů pomocí jediného kódu. Budeme iterovat přes a smyčka for který zkontroluje všechny buňky v rozsahu C3:C12 a vrátit odpovídající výsledek, "Prošlo" nebo "Neúspěšný" .
Na stránkách VBA kód pro tento účel bude:
⧭ Kód VBA:
Sub If_Statement_Based_On_a_Range_of_Cells() For i = 1 To Range("C3:C12").Rows.Count If Range("C3:C12").Cells(i, 1).Value>= 40 Then Range("D3:D12").Cells(i, 1).Value = "Passed" Else Range("D3:D12").Cells(i, 1).Value = "Failed" End If Next i End Sub
⧭ Výstup:
Spusťte kód z Run Sub / UserForm v nástroji VBA Vrátí se "Prošlo" pro značky, které jsou větší než 40 , a "Neúspěšný" pro ty, které jsou méně než. n 40 .
Na co nezapomenout
Zde jsem ukázal Příkaz If s jedinou podmínkou. Pokud však chcete, můžete použít více podmínek v rámci jedné podmínky. Příkaz If .
Pokud používáte NEBO zadat více podmínek, spojit je pomocí NEBO .
A pokud používáte A zadat více podmínek, spojit je pomocí A .
Chcete-li například zkontrolovat, zda je značka v buňce B3 je větší než 40 a méně než 50 nebo ne, použijte:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then