Obsah
V tomto článku vám ukážem, ako môžete použiť Príkaz If na stránke VBA v programe Excel na základe hodnoty bunky.
Excel VBA: Príkaz If na základe hodnoty bunky (rýchle zobrazenie)
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
Stiahnite si cvičebnicu
Stiahnite si tento cvičebný zošit, aby ste si počas čítania tohto článku precvičili svoje zručnosti.
Príkaz If na základe hodnoty bunky.xlsmPríkaz If na základe hodnoty bunky v programe Excel VBA
Tu máme pracovný hárok, ktorý obsahuje mená a značky niektorých študentov školy pri skúške.
Naším cieľom je naučiť sa používať Príkaz If v programe Excel VBA na základe hodnoty bunky z tohto súboru údajov.
1. Príkaz If na základe hodnoty jednej bunky v programe Excel VBA
Najprv sa naučíme používať príkaz If na základe hodnoty jednej bunky.
Skúsme napríklad zistiť, či Natália Austinová na skúške uspela alebo nie, teda či známka v bunke C3 je väčšia ako 40 alebo nie.
Stĺpec D obsahuje výsledok študentov. To znamená, že ak bunka C3 obsahuje známku vyššiu ako 40, bunka D3 bude obsahovať "Prešiel" . Inak bude obsahovať "Nepodarilo sa" .
Použijeme VBA Rozsah vytvoriť tento objekt Príkaz If na základe hodnoty bunky.
Stránka VBA kód pre 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:
Spustite kód z Spustiť podponuku / UserForm nástroj v VBA panel nástrojov.
Vytvorí bunky D3 obsahujú "Nepodarilo sa" , ako značka v bunke C3 je menšia ako 40 ( 32 ).
2. Príkaz If založený na hodnotách rozsahu buniek v programe Excel VBA
Môžete tiež použiť Príkaz If na základe hodnôt rozsahu buniek v VBA . Môžete použiť for-loop na tento účel.
Napríklad tu môžeme zistiť výsledok všetkých študentov pomocou jediného kódu. Budeme iterovať cez for-loop ktorý skontroluje všetky bunky v rozsahu C3:C12 a vrátiť zodpovedajúci výsledok, "Prešiel" alebo "Nepodarilo sa" .
Stránka VBA kód pre 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:
Spustite kód z Spustiť podponuku / UserForm nástroj v VBA panel nástrojov. Vráti sa "Prešiel" pre značky, ktoré sú väčšie ako 40 a "Neúspešný" pre tie, ktoré sú menej ako n 40 .
Čo si treba zapamätať
Tu som ukázal Príkaz If s jednou podmienkou. Ak však chcete, môžete použiť viacero podmienok v rámci Príkaz If .
Ak používate ALEBO zadajte viacero podmienok, spojte ich pomocou ALEBO .
A ak používate A zadajte viacero podmienok, spojte ich pomocou A .
Napríklad, ak chcete skontrolovať, či značka v bunke B3 je väčšia ako 40 a menej ako 50 alebo nie, použite:
Ak (Range("C3").Value> 40 alebo Range("C3").Value <50) potom