Sisällysluettelo
Tässä artikkelissa näytän, miten voit käyttää apuna If-lausunto osoitteessa VBA Excelissä solun arvon perusteella.
Excel VBA: If-lauseke solun arvon perusteella (Pikakatselu)
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
Lataa harjoituskirja
Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.
Jos lauseke perustuu solun arvoon.xlsmsmJos lausunto perustuu solun arvoon Excel VBA: ssa
Tässä meillä on laskentataulukko, joka sisältää seuraavat tiedot nimet ja merkit joidenkin koulun oppilaiden tulokset kokeessa.
Tavoitteenamme on oppia käyttämään If-lausunto Excelissä VBA joka perustuu tämän tietokokonaisuuden solun arvoon.
1. Yhden solun arvoon perustuva If-lauseke Excel VBA:ssa
Ensiksi opettelemme käyttämään yhden solun arvoon perustuvaa If-lauseen käyttöä.
Yritetään esimerkiksi katsoa, läpäisikö Natalia Austin kokeen vai ei, eli onko solun merkintä C3 on suurempi kuin 40 tai ei.
Pylväs D sisältää opiskelijoiden tuloksen. Toisin sanoen, jos solu C3 sisältää merkin, joka on suurempi kuin 40, solu D3 sisältää "Läpäissyt" . Muuten se sisältää "Epäonnistui" .
Käytämme VBA Valikoima objektin luodakseen tämän If-lausunto solun arvon perusteella.
The VBA koodi tähän on:
⧭ VBA-koodi:
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
⧭ Lähtö:
Suorita koodi Suorita Sub / UserForm työkalu VBA työkalupalkki.
Se tekee solun D3 sisältävät "Epäonnistui" , kuten solun C3 on pienempi kuin 40 ( 32 ).
2. Excel VBA:n soluvälien arvoihin perustuva If-lauseke Excel VBA:ssa
Voit myös käyttää If-lausunto perustuen solualueen arvoihin sarakkeessa VBA Voit käyttää for-silmukka tätä tarkoitusta varten.
Esimerkiksi tässä tapauksessa voimme selvittää kaikkien oppilaiden tulokset yhdellä koodilla. Iteroimme läpi a for-silmukka joka tarkistaa kaikki alueen solut. C3:C12 ja palauttaa vastaavan tuloksen, "Läpäissyt" tai "Epäonnistui" .
The VBA koodi tätä varten on:
⧭ VBA-koodi:
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 = "Hyväksytty" Else Range("D3:D12").Cells(i, 1).Value = "Epäonnistunut" End If Next i End Sub
⧭ Lähtö:
Suorita koodi Suorita Sub / UserForm työkalu VBA työkalupalkki. Se palauttaa "Läpäissyt" merkit, jotka ovat suurempia kuin 40 ja "epäonnistunut" niille, jotka ovat alle 10 prosenttia, ja "epäonnistunut" niille, jotka ovat alle 10 prosenttia. n 40 .
Muistettavat asiat
Tässä olen näyttänyt If-lausunto yhdellä ehdolla. Halutessasi voit kuitenkin käyttää useita ehtoja yhden ehdon sisällä. If-lausunto .
Jos käytät TAI kirjoita useita ehtoja, yhdistä ne TAI .
Ja jos käytät AND kirjoita useita ehtoja, yhdistä ne AND .
Tarkistetaan esimerkiksi, onko solun merkintä B3 on suurempi kuin 40 ja alle 50 tai ei, käytä:
If (Range("C3").Value> 40 Or Range("C3").Value <50) Then