Excel VBA: Příkaz If na základě hodnoty buňky (2 praktické příklady)

  • Sdílet Toto
Hugh West

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.xlsm

Pří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 

Hugh West je velmi zkušený školitel a analytik Excelu s více než 10 lety zkušeností v oboru. Má bakalářský titul v oboru Účetnictví a finance a magisterský titul v oboru Business Administration. Hugh má vášeň pro výuku a vyvinul jedinečný přístup k výuce, který lze snadno sledovat a pochopit. Jeho odborné znalosti Excelu pomohly tisícům studentů a profesionálů po celém světě zlepšit své dovednosti a vyniknout ve své kariéře. Prostřednictvím svého blogu Hugh sdílí své znalosti se světem a nabízí bezplatné výukové programy Excelu a online školení, které jednotlivcům a firmám pomohou dosáhnout jejich plného potenciálu.